- MODELAPI_EXPORT virtual std::shared_ptr<ModelAPI_Feature>
- feature(const std::string& theGroupID, const int theIndex) = 0;
+ //! \param theGroupID group that contains a feature
+ //! \param theIndex zero-based index of feature in the group
+ //! \param isOperation if it is true, returns feature (not Object)
+ MODELAPI_EXPORT virtual boost::shared_ptr<ModelAPI_Feature>
+ feature(const std::string& theGroupID, const int theIndex, const bool isOperation = false) = 0;
+
+ //! Returns the number of features in the group
+ MODELAPI_EXPORT virtual int size(const std::string& theGroupID) = 0;
+
+ /// To virtually destroy the fields of successors
+ virtual ~ModelAPI_Document() {}