X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModel%2FModel_AttributeSelection.h;h=801a69e513903287d703c09465b5a884078da591;hb=2f89053146098946372bae4d1a3fe2e5272ab9e2;hp=b380fef83534337571da6cc5a1222d2203de2cee;hpb=8170985e13476f171bb839474ffaf2cce5d0546d;p=modules%2Fshaper.git diff --git a/src/Model/Model_AttributeSelection.h b/src/Model/Model_AttributeSelection.h index b380fef83..801a69e51 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 @@ -20,21 +22,39 @@ class Model_AttributeSelection : public ModelAPI_AttributeSelection 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(); - MODEL_EXPORT virtual void setObject(const boost::shared_ptr& theObject); + /// Sets the feature object + 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(); protected: /// Objects are created for features automatically MODEL_EXPORT Model_AttributeSelection(TDF_Label& theLabel); + /// Performs the selection for the body result (TNaming Selection) + + /// Performs the selection for the body result (TNaming selection) + virtual void selectBody( + 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 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(); friend class Model_Data; + friend class Model_AttributeSelectionList; }; #endif