+ //! If theHidden is true, it counts also the features that are not in tree
+ MODEL_EXPORT virtual int size(const std::string& theGroupID, const bool theHidden = false);
+
+ /// Creates a construction cresults
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_ResultConstruction> createConstruction(
+ const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0);
+ /// Creates a body results
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_ResultBody> createBody(
+ const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0);
+ /// Creates a part results
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_ResultPart> createPart(
+ const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0);
+ /// Creates a group results
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_ResultGroup> createGroup(
+ const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0);
+
+ //! Returns a feature by result (owner of result)
+ MODEL_EXPORT virtual std::shared_ptr<ModelAPI_Feature>
+ feature(const std::shared_ptr<ModelAPI_Result>& theResult);
+
+ ///! Returns true if parametric updater need to execute feature on recomputartion
+ ///! On abort, undo or redo it is not necessary: results in document are updated automatically
+ bool executeFeatures() {return myExecuteFeatures;}
+
+ protected:
+
+ //! Returns (creates if needed) the features label
+ TDF_Label featuresLabel();