X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_ViewerPrs.h;h=71f2cd627da5cd1c1ccb8837ef76c5f4e4b14200;hb=3205d0f18200948632155bbe7b640bc1e482243d;hp=b9bcb2b9d5c18c4a2f61a00dd822e5f70d36ccba;hpb=9e869ede4d8c56262bb20534543c2bf56cd6a91b;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_ViewerPrs.h b/src/ModuleBase/ModuleBase_ViewerPrs.h index b9bcb2b9d..71f2cd627 100644 --- a/src/ModuleBase/ModuleBase_ViewerPrs.h +++ b/src/ModuleBase/ModuleBase_ViewerPrs.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: ModuleBase_ViewerPrs.h // Created: 20 Apr 2014 // Author: Natalia ERMOLAEVA @@ -15,87 +17,91 @@ #include /**\class ModuleBase_ViewerPrs - * \ingroup Module base + * \ingroup GUI * \brief Presentation. Provides container to have feature, shape and/or selection owner. */ class ModuleBase_ViewerPrs { public: /// Constructor - ModuleBase_ViewerPrs() - { - } + MODULEBASE_EXPORT ModuleBase_ViewerPrs(); /// Constructor - /// \param theFeature a model feature + /// \param theResult an object /// \param theShape a viewer shape /// \param theOwner a selection owner - ModuleBase_ViewerPrs(ObjectPtr theResult, const TopoDS_Shape& theShape, - Handle_SelectMgr_EntityOwner theOwner) - : myResult(theResult), - myShape(theShape), - myOwner(theOwner) - { - } + MODULEBASE_EXPORT ModuleBase_ViewerPrs(ObjectPtr theResult, const TopoDS_Shape& theShape, + Handle_SelectMgr_EntityOwner theOwner); /// Destructor - virtual ~ModuleBase_ViewerPrs() - { - } + MODULEBASE_EXPORT virtual ~ModuleBase_ViewerPrs(); - /// Sets the feature. - /// \param theFeature a feature instance - void setFeature(ObjectPtr theResult) + /// Sets the object. + /// \param theResult an object instance + MODULEBASE_EXPORT void setObject(ObjectPtr theResult) { myResult = theResult; } /// Returns the feature. /// \return a feature instance - ObjectPtr object() const + MODULEBASE_EXPORT ObjectPtr object() const { return myResult; } - /// Returns the presentation owner - /// \param the owner - void setOwner(Handle_SelectMgr_EntityOwner theOwner) + /// Set the presentation owner + /// \param theOwner an owner to set + MODULEBASE_EXPORT void setOwner(Handle_SelectMgr_EntityOwner theOwner) { myOwner = theOwner; } /// Returns the presentation owner /// \return an owner - Handle_SelectMgr_EntityOwner owner() const + MODULEBASE_EXPORT Handle_SelectMgr_EntityOwner owner() const { return myOwner; } /// Sets the shape /// \param theShape a shape instance - void setShape(const TopoDS_Shape& theShape) + MODULEBASE_EXPORT void setShape(const TopoDS_Shape& theShape) { myShape = theShape; } /// Returns the shape /// \return a shape instance - const TopoDS_Shape& shape() const + MODULEBASE_EXPORT const TopoDS_Shape& shape() const { return myShape; } - void setInteractive(const Handle(AIS_InteractiveObject)& theIO) + /// Set interactive object + /// \param theIO an interactive object + MODULEBASE_EXPORT void setInteractive(const Handle(AIS_InteractiveObject)& theIO) { myInteractive = theIO; } - Handle(AIS_InteractiveObject) interactive() const + /// Returns interactive object if it is installed + MODULEBASE_EXPORT Handle(AIS_InteractiveObject) interactive() const { return myInteractive; } - bool operator==(const ModuleBase_ViewerPrs& thePrs) + /// Returns true if all presentation fields are empty + /// \return boolean value + MODULEBASE_EXPORT bool isEmpty() const + { + return myShape.IsNull() && + myOwner.IsNull() && !myResult.get(); + } + + /// Returns True if the current object is equal to the given one + /// \param thePrs an object to compare + MODULEBASE_EXPORT bool operator==(const ModuleBase_ViewerPrs& thePrs) { bool aResult = (myResult.get() == thePrs.object().get()); bool aOwner = (myOwner.Access() == thePrs.owner().Access()); @@ -108,7 +114,7 @@ class ModuleBase_ViewerPrs ObjectPtr myResult; /// the feature Handle(SelectMgr_EntityOwner) myOwner; /// the selection owner TopoDS_Shape myShape; /// the shape - Handle(AIS_InteractiveObject) myInteractive; + Handle(AIS_InteractiveObject) myInteractive; /// interactive object }; #endif