X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_AttributeSelection.h;h=74c77344d5daea843647d8d2c63ad4cf0d1f0d7c;hb=7aca58f10a62c02aafc2692adb34cc28468771f7;hp=1508476794ba5bd7f6ebd46d9d4c4a8e45a47b06;hpb=758a57d77b6fa3a0485fa3378a1280c7e87a74aa;p=modules%2Fshaper.git diff --git a/src/Model/Model_AttributeSelection.h b/src/Model/Model_AttributeSelection.h index 150847679..74c77344d 100644 --- a/src/Model/Model_AttributeSelection.h +++ b/src/Model/Model_AttributeSelection.h @@ -1,3 +1,5 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D + // File: Model_AttributeSelection.h // Created: 8 May 2014 // Author: Mikhail PONIKAROV @@ -8,6 +10,7 @@ #include "Model.h" #include "Model_AttributeReference.h" #include +#include /**\class Model_AttributeSelection * \ingroup DataModel @@ -17,24 +20,28 @@ class Model_AttributeSelection : public ModelAPI_AttributeSelection { Model_AttributeReference myRef; ///< The reference functionality reusage + TDF_LabelMap myScope; ///< the map of valid labels for naming selection solving public: /// Defines the result and its selected sub-shape MODEL_EXPORT virtual void setValue( - const ResultPtr& theContext, const boost::shared_ptr& theSubShape); + const ResultPtr& theContext, const std::shared_ptr& theSubShape); /// Returns the selected subshape - MODEL_EXPORT virtual boost::shared_ptr value(); + MODEL_EXPORT virtual std::shared_ptr value(); /// Returns the context of the selection (the whole shape owner) MODEL_EXPORT virtual ResultPtr context(); /// Sets the feature object - MODEL_EXPORT virtual void setObject(const boost::shared_ptr& theObject); + MODEL_EXPORT virtual void setObject(const std::shared_ptr& theObject); /// Updates the underlied selection due to the changes in the referenced objects /// \returns false if update is failed MODEL_EXPORT virtual bool update(); + /// Returns a textual string of the selection + MODEL_EXPORT virtual std::string namingName(); + protected: /// Objects are created for features automatically MODEL_EXPORT Model_AttributeSelection(TDF_Label& theLabel); @@ -42,15 +49,18 @@ protected: /// Performs the selection for the body result (TNaming selection) virtual void selectBody( - const ResultPtr& theContext, const boost::shared_ptr& theSubShape); + const ResultPtr& theContext, const std::shared_ptr& theSubShape); /// Performs the selection for the construction result (selection by index) virtual void selectConstruction( - const ResultPtr& theContext, const boost::shared_ptr& theSubShape); + const ResultPtr& theContext, const std::shared_ptr& theSubShape); /// Returns the label where TNaming_Selection results are stored /// Note: there must be no attributes stored at the same label because Selector clears this lab TDF_Label selectionLabel(); + /// Returns the prepared map of valid labels for naming selection solving (creates if not exists) + TDF_LabelMap& scope(); + friend class Model_Data; friend class Model_AttributeSelectionList; };