Salome HOME
Fix for the issue #2753 : error when dump/load script
[modules/shaper.git] / src / Model / Model_BodyBuilder.h
index 899fe1cc390e197c7a722aaac0a76da725a075c4..440791b6971e38a0274567785210f3f7ab4505d3 100755 (executable)
@@ -66,8 +66,9 @@ public:
 
   /// 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.
-  MODEL_EXPORT virtual void generated(const GeomShapePtr& theNewShape,
-                                      const std::string& theName) override;
+  /// Returns true if it is stored correctly (the final shape contains this new sub-shape)
+  MODEL_EXPORT virtual bool generated(const GeomShapePtr& theNewShape,
+    const std::string& theName, const bool theCheckIsInResult = true) override;
 
   /// Records the shape newShape which was generated from the shape oldShape during a topological
   /// construction. As an example, consider the case of a face generated from an edge in
@@ -145,8 +146,15 @@ private:
   /// builds name for the shape kept at the specified tag
   void buildName(const int theTag, const std::string& theName);
 
+private:
+  struct IndexTags {
+    int index;
+    std::vector<int> tags;
+  };
+
 private:
   int myFreePrimitiveTag;
+  std::map<std::string, IndexTags> myPrimitivesNamesIndexMap;
 
 private:
   friend class Model_ResultBody;