- MODEL_EXPORT virtual void generated(const std::shared_ptr<GeomAPI_Shape>& theNewShape,
- const int theTag = 1);
-
- /// 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
- /// construction of a prism.
- MODEL_EXPORT virtual void generated(const std::shared_ptr<GeomAPI_Shape>& theOldShape,
- const std::shared_ptr<GeomAPI_Shape>& theNewShape, const int theTag = 1);
-
-
- /// Records the shape newShape which is a modification of the shape oldShape.
- /// As an example, consider the case of a face split or merged in a Boolean operation.
- MODEL_EXPORT virtual void modified(const std::shared_ptr<GeomAPI_Shape>& theOldShape,
- const std::shared_ptr<GeomAPI_Shape>& theNewShape, const int theTag = 1);
-
- /// Records the shape oldShape which was deleted from the current label.
- /// As an example, consider the case of a face removed by a Boolean operation.
- MODEL_EXPORT virtual void deleted(const std::shared_ptr<GeomAPI_Shape>& theOldShape,
- const int theTag = 1);
-
- /// load deleted shapes
- MODEL_EXPORT virtual void loadDeletedShapes (GeomAlgoAPI_MakeShape* theMS,
- std::shared_ptr<GeomAPI_Shape> theShapeIn,
- const int theKindOfShape,
- const int theTag);
- /// load and orient modified shapes
- MODEL_EXPORT virtual void loadAndOrientModifiedShapes (
- GeomAlgoAPI_MakeShape* theMS,
- std::shared_ptr<GeomAPI_Shape> theShapeIn,
- const int theKindOfShape,
- const int theTag,
- GeomAPI_DataMapOfShapeShape& theSubShapes);
- /// load and orient generated shapes
- MODEL_EXPORT virtual void loadAndOrientGeneratedShapes (
- GeomAlgoAPI_MakeShape* theMS,
- std::shared_ptr<GeomAPI_Shape> theShapeIn,
- const int theKindOfShape,
- const int theTag,
- GeomAPI_DataMapOfShapeShape& theSubShapes);
-
- /// Loads shapes of the first level (to be used during shape import)
- MODEL_EXPORT virtual void loadFirstLevel(std::shared_ptr<GeomAPI_Shape> theShape, int& theTag);
-
- /// Loads disconnected edges
- MODEL_EXPORT virtual void loadDisconnectedEdges(std::shared_ptr<GeomAPI_Shape> theShape, int& theTag);
-
- /// Loads disconnected vetexes
- MODEL_EXPORT virtual void loadDisconnectedVertexes(std::shared_ptr<GeomAPI_Shape> theShape, int& theTag);
+ MODEL_EXPORT virtual bool generated(const GeomShapePtr& theNewShape,
+ const std::string& theName, const bool theCheckIsInResult = true) override;
+
+ /// load generated shapes
+ MODEL_EXPORT
+ virtual void loadGeneratedShapes(const std::shared_ptr<GeomAlgoAPI_MakeShape>& theAlgo,
+ const GeomShapePtr& theOldShape,
+ const GeomAPI_Shape::ShapeType theShapeTypeToExplore,
+ const std::string& theName = "",
+ const bool theSaveOldIfNotInTree = false) override;
+
+ /// load modified shapes for sub-objects
+ MODEL_EXPORT
+ virtual void loadModifiedShapes(const std::shared_ptr<GeomAlgoAPI_MakeShape>& theAlgo,
+ const GeomShapePtr& theOldShape,
+ const GeomAPI_Shape::ShapeType theShapeTypeToExplore,
+ const std::string& theName = "") override;
+
+ /// load shapes of the first level (to be used during shape import)
+ MODEL_EXPORT virtual void loadFirstLevel(GeomShapePtr theShape, const std::string& theName);
+
+ /// Returns the number of sub-elements
+ MODEL_EXPORT virtual int numberOfSubs(bool forTree = false) const;
+
+ /// Returns the sub-result by zero-base index
+ MODEL_EXPORT virtual ResultBodyPtr subResult(const int theIndex,
+ bool forTree = false) const;
+
+ /// Returns true if feature or result belong to this composite feature as subs
+ /// Returns theIndex - zero based index of sub if found
+ MODEL_EXPORT virtual bool isSub(ObjectPtr theObject, int& theIndex) const;
+
+ /// Returns the parameters of color definition in the resources configuration manager
+ MODEL_EXPORT virtual void colorConfigInfo(std::string& theSection, std::string& theName,
+ std::string& theDefault);
+
+ /// Disables the result body: keeps the resulting shape as selection, but erases the underlaying
+ /// naming data structure if theFlag if false. Or restores every thing on theFlag is true.
+ MODEL_EXPORT virtual bool setDisabled(std::shared_ptr<ModelAPI_Result> theThis,
+ const bool theFlag);
+
+ /// The compsolid is concealed if at least one of the sub is concealed
+ MODEL_EXPORT virtual bool isConcealed();
+
+ /// Sets all subs as concealed in the data tree (referenced by other objects)
+ MODEL_EXPORT virtual void setIsConcealed(const bool theValue, const bool theForced = false);
+
+ /// Returns true is the topology is connected.
+ MODEL_EXPORT virtual bool isConnectedTopology();
+
+ /// Cleans cash related to the already stored elements
+ MODEL_EXPORT virtual void cleanCash() override;
+
+ /// sets the texture file
+ MODEL_EXPORT virtual void setTextureFile(const std::string & theTextureFile) override;