Salome HOME
Overconstraint situation: redisplay objects through the events loop.
[modules/shaper.git] / src / ModelAPI / ModelAPI_Document.h
index c05f5c7fe14e9d0753c5f9d95d006b20df29b528..8c1297359b113bdbe76c4156f6aa546717d14d64 100644 (file)
@@ -21,7 +21,6 @@ class ModelAPI_Object;
 class ModelAPI_Result;
 class ModelAPI_ResultConstruction;
 class ModelAPI_ResultBody;
-class ModelAPI_ResultCompSolid;
 class ModelAPI_ResultPart;
 class ModelAPI_ResultGroup;
 class ModelAPI_ResultParameter;
@@ -67,11 +66,8 @@ public:
   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
@@ -113,31 +109,35 @@ public:
   virtual int numInternalFeatures() = 0;
   //! Returns the feature by zero-based index: features in the history or not
   virtual std::shared_ptr<ModelAPI_Feature> internalFeature(const int theIndex) = 0;
+  //! Performs synchronization of transactions with the module document:
+  //! If some document is not active (by undo of activation) but in memory,
+  //! on activation the transactions must be synchronised because all redos performed 
+  //! 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();
 
-  //! Creates a construction cresults
+  //! Creates a construction result
   virtual std::shared_ptr<ModelAPI_ResultConstruction> createConstruction(
       const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0) = 0;
-  //! Creates a body results
+  //! Creates a body result
   virtual std::shared_ptr<ModelAPI_ResultBody> createBody(
       const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0) = 0;
-  /// Creates a compsolid results
-  virtual std::shared_ptr<ModelAPI_ResultCompSolid> createCompSolid(
-      const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0) = 0;
-  //! Creates a part results
+  //! Creates a part result
   virtual std::shared_ptr<ModelAPI_ResultPart> createPart(
       const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0) = 0;
   //! Copies a part result, keeping the reference to the origin
   virtual std::shared_ptr<ModelAPI_ResultPart> copyPart(
       const std::shared_ptr<ModelAPI_ResultPart>& theOrigin,
       const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0) = 0;
-  //! Creates a group results
+  //! Creates a group result
   virtual std::shared_ptr<ModelAPI_ResultGroup> createGroup(
       const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0) = 0;
-
+  //! Creates a parameter result
   virtual std::shared_ptr<ModelAPI_ResultParameter> createParameter(
       const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0) = 0;