+ /// Defines the sub-shape by Id
+ /// NOTE: This method is opposite to Id() method.
+ MODEL_EXPORT virtual void setId(int theID);
+
+ /// Selects (i.e. creates Naming data structure) of sub-shape specified by textual name
+ MODEL_EXPORT virtual void selectSubShape(const std::string& theType,
+ const std::string& theSubShapeName);
+
+ /// Selects sub-shape by its inner point
+ MODEL_EXPORT virtual void selectSubShape(const std::string& theType,
+ const std::shared_ptr<GeomAPI_Pnt>& thePoint);
+ /// Selects sub-shape by weak naming index
+ MODEL_EXPORT virtual void selectSubShape(const std::string& theType,
+ const std::string& theContextName, const int theIndex);
+
+ /// Returns true if attribute was initialized by some value
+ MODEL_EXPORT virtual bool isInitialized();
+
+ /// Returns true if recompute of selection become impossible
+ MODEL_EXPORT virtual bool isInvalid();
+
+ /// Updates the arguments of selection if something was affected by creation
+ /// or reorder of features upper in the history line (issue #1757)
+ MODEL_EXPORT virtual void updateInHistory();
+
+ // Implementation of the name generator method from the Selector package
+ // This method returns the context name by the label of the sub-selected shape
+ MODEL_EXPORT virtual std::string contextName(const TDF_Label theSelectionLab) override;
+
+ /// This method restores by the context and value name the context label and
+ /// sub-label where the value is. Returns true if it is valid.
+ MODEL_EXPORT virtual bool restoreContext(std::string theName,
+ TDF_Label& theContext, TDF_Label& theValue) override;
+
+ /// Returns the label of the newest context presented by the current one
+ MODEL_EXPORT virtual TDF_Label newestContext(const TDF_Label theCurrentContext) override;
+
+ /// Returns true if the first result is newer than the second one in the tree of features
+ MODEL_EXPORT virtual bool isLater(const TDF_Label theResult1, const TDF_Label theResult2)
+ const override;
+
+ /// Returns the name by context. Adds the part name if the context is located in other document
+ MODEL_EXPORT virtual std::string contextName(const ResultPtr& theContext) const;
+
+ /// Makes the current local selection becomes all sub-shapes with same base geometry.
+ MODEL_EXPORT virtual void combineGeometrical();