X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModelHighAPI%2FModelHighAPI_Selection.h;h=0be8642f78557c541dfe43b96d6d6ed0f2e2eec3;hb=631e526ea63fc394c8fcbafe4af9a21cb84ddd4e;hp=a3970046576f8523a85adbacd2124d7800458062;hpb=5c2ba91e54934c258b5c5caffd3adf347c5c1180;p=modules%2Fshaper.git diff --git a/src/ModelHighAPI/ModelHighAPI_Selection.h b/src/ModelHighAPI/ModelHighAPI_Selection.h index a39700465..0be8642f7 100644 --- a/src/ModelHighAPI/ModelHighAPI_Selection.h +++ b/src/ModelHighAPI/ModelHighAPI_Selection.h @@ -8,14 +8,15 @@ #define SRC_MODELHIGHAPI_MODELHIGHAPI_SELECTION_H_ //-------------------------------------------------------------------------------------- +#include "ModelHighAPI.h" + #include #include #include - -#include //-------------------------------------------------------------------------------------- class GeomAPI_Shape; class ModelAPI_AttributeSelection; +class ModelAPI_AttributeSelectionList; class ModelAPI_Result; //-------------------------------------------------------------------------------------- typedef std::pair, std::shared_ptr > ResultSubShapePair; @@ -29,19 +30,29 @@ class ModelHighAPI_Selection { public: /// Constructor for result and sub-shape + MODELHIGHAPI_EXPORT ModelHighAPI_Selection(const std::shared_ptr& theContext = std::shared_ptr(), const std::shared_ptr& theSubShape = std::shared_ptr()); /// Constructor for sub-shape by the textual Name + MODELHIGHAPI_EXPORT ModelHighAPI_Selection(const std::string& theType, const std::string& theSubShapeName); /// Destructor + MODELHIGHAPI_EXPORT virtual ~ModelHighAPI_Selection(); /// Fill attribute values - virtual void fillAttribute(std::shared_ptr & theAttribute) const; + MODELHIGHAPI_EXPORT + virtual void fillAttribute(const std::shared_ptr & theAttribute) const; + + /// Append to list attribute + MODELHIGHAPI_EXPORT + virtual void appendToList(const std::shared_ptr & theAttribute) const; private: - boost::variant myValue; + enum VariantType { VT_ResultSubShapePair, VT_TypeSubShapeNamePair } myVariantType; + ResultSubShapePair myResultSubShapePair; + TypeSubShapeNamePair myTypeSubShapeNamePair; }; //--------------------------------------------------------------------------------------