class ModelAPI_ResultGroup;
class ModelAPI_ResultParameter;
class ModelAPI_Data;
+class GeomAPI_Shape;
/**\class ModelAPI_Document
* \ingroup DataModel
virtual void moveFeature(std::shared_ptr<ModelAPI_Feature> theMoved,
std::shared_ptr<ModelAPI_Feature> theAfterThis) = 0;
- ///! Adds a new sub-document by the identifier, or returns existing one if it is already exist
- virtual std::shared_ptr<ModelAPI_Document> subDocument(std::string theDocID) = 0;
-
///! Returns the id of the document
- virtual const std::string& id() const = 0;
+ virtual const int id() const = 0;
//! Returns the object in the group by the index (started from zero)
//! \param theGroupID group that contains an object
//! will be appended after this one.
//! \param theCurrent the selected feature as current: blow it everythin become disabled
//! \param theVisible use visible features only: flag is true for Object Browser functionality
- //! \param theFlushUpdates if it is true (default) it flashes creation/redisplay/delete messages
virtual void setCurrentFeature(std::shared_ptr<ModelAPI_Feature> theCurrent,
- const bool theVisible, const bool theFlushUpdates = true) = 0;
+ const bool theVisible) = 0;
//! Makes the current feature one feature upper
virtual void setCurrentFeatureUp() = 0;
//! wihtout this participation
virtual void synchronizeTransactions() = 0;
+ //! Returns feature by the id of the feature (produced by the Data "featureId" method)
+ virtual std::shared_ptr<ModelAPI_Feature> featureById(const int theId) = 0;
//! To virtually destroy the fields of successors
MODELAPI_EXPORT virtual ~ModelAPI_Document();
/// Returns true if document is opened and valid
virtual bool isOpened() = 0;
+ /// Returns the feature that produced the given face of the given result.
+ virtual std::shared_ptr<ModelAPI_Feature> producedByFeature(
+ std::shared_ptr<ModelAPI_Result> theResult,
+ const std::shared_ptr<GeomAPI_Shape>& theShape) = 0;
+
protected:
//! Only for SWIG wrapping it is here