+ const ResultPtr& theContext, const std::shared_ptr<GeomAPI_Shape>& theSubShape);
+
+ /// Performs the selection for the part result (selection by name of body result inside of part)
+ /// \param theContext the result - owner of the selection
+ /// \param theSubShape selected shape
+ /// \param theUpdate flag that shows that it must be just update, theShape is null
+ /// \returns true if eveything is selected correctly
+ virtual bool selectPart(
+ const ResultPtr& theContext, const std::shared_ptr<GeomAPI_Shape>& theSubShape,
+ const bool theUpdate = false);
+
+ /// 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();
+
+ /// Sets the ID of the attribute in Data (called from Data): here it is used for myRef ID setting
+ MODEL_EXPORT virtual void setID(const std::string theID);
+
+ /// Returns the name by context. Adds the part name if the context is located in other document
+ std::string contextName(const ResultPtr& theContext) const;