]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/ModelAPI/ModelAPI_BodyBuilder.h
Salome HOME
Add tools
[modules/shaper.git] / src / ModelAPI / ModelAPI_BodyBuilder.h
index 537c4e4929e0987163652d1774623677f40406dc..3d945b47c4622c9bef6547bba2e98240c421354c 100755 (executable)
@@ -20,6 +20,7 @@ class ModelAPI_Object;
 
 /**\class ModelAPI_BodyBuilder
 * \ingroup DataModel
+ * \brief Extra API for the ResultBody that allows to work with naming.
 */
 class ModelAPI_BodyBuilder
 {
@@ -38,6 +39,12 @@ public:
                                  const std::shared_ptr<GeomAPI_Shape>& theNewShape,
                             const int theDecomposeSolidsTag = 0) = 0;
 
+  /// Stores the shape without naming support
+  virtual void storeWithoutNaming(const std::shared_ptr<GeomAPI_Shape>& theShape) = 0;
+
+  /// Returns the shape-result produced by this feature
+  virtual std::shared_ptr<GeomAPI_Shape> shape() = 0;
+
   /// Records the subshape newShape which was generated during a topological construction.
   /// As an example, consider the case of a face generated in construction of a box.
   virtual void generated(
@@ -90,6 +97,10 @@ public:
   /// load disconnected vetexes
   virtual void loadDisconnectedVertexes(std::shared_ptr<GeomAPI_Shape> theShape, const std::string& theName,int&  theTag) = 0;
 
+  /// Converts evolution of sub-shapes stored in naming structure to selection 
+  /// (theFlag = true) and back (theFlag = false)
+  virtual void evolutionToSelection(const bool theFlag) = 0;
+
 protected:
   /// Returns the data manager of this object: attributes
   MODELAPI_EXPORT virtual std::shared_ptr<ModelAPI_Data> data() const;
@@ -98,9 +109,10 @@ protected:
   MODELAPI_EXPORT virtual std::shared_ptr<ModelAPI_Document> document() const;
 
 protected:
+  /// Deafult constructor accessible only from Model_Object
   MODELAPI_EXPORT ModelAPI_BodyBuilder(ModelAPI_Object* theOwner);
 
-  ModelAPI_Object* myOwner;
+  ModelAPI_Object* myOwner; ///< the owner object this builder belongs to
 };
 
 //! Pointer on feature object