0028567: Get rid of the unused DRAW commands based on old Boolean Operations (BRepAlgo)
[occt.git] / src / QANewBRepNaming / QANewBRepNaming_BooleanOperation.hxx
index ed360c1..2c1d70c 100644 (file)
@@ -1,6 +1,6 @@
-// Created on: 1999-11-11
-// Created by: Vladislav ROMASHKO
-// Copyright (c) 1999 Matra Datavision
+// Created on: 1999-09-27
+// Created by: Open CASCADE Support
+// Copyright (c) 1999-1999 Matra Datavision
 // Copyright (c) 1999-2014 OPEN CASCADE SAS
 //
 // This file is part of Open CASCADE Technology software library.
 #include <Standard_Handle.hxx>
 
 #include <QANewBRepNaming_TopNaming.hxx>
+#include <Standard_Boolean.hxx>
+#include <TopAbs_ShapeEnum.hxx>
 class TDF_Label;
-class BRepAlgo_BooleanOperation;
+class BRepAlgoAPI_BooleanOperation;
+class TopoDS_Shape;
 
 
 //! To load the BooleanOperation results
@@ -34,46 +37,94 @@ public:
   DEFINE_STANDARD_ALLOC
 
   
-  Standard_EXPORT QANewBRepNaming_BooleanOperation();
+  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
   
-  Standard_EXPORT QANewBRepNaming_BooleanOperation(const TDF_Label& ResultLabel);
+  //! Returns the label to insert modified faces of an Object.
+  Standard_EXPORT TDF_Label ModifiedFaces() const;
   
-  Standard_EXPORT void Init (const TDF_Label& ResultLabel);
+  //! Returns the label to insert modified edges of an Object.
+  Standard_EXPORT TDF_Label ModifiedEdges() const;
+  
+  //! Returns the label to insert deleted faces of an Object.
+  Standard_EXPORT TDF_Label DeletedFaces() const;
+  
+  //! Returns the label to insert deleted edges of an Object.
+  Standard_EXPORT TDF_Label DeletedEdges() const;
   
-  //! Load the boolean operation.
-  //! Makes a new part attached to the ResultLabel.
-  Standard_EXPORT void Load (BRepAlgo_BooleanOperation& mkBoolOp) const;
+  //! Returns the label to insert deleted vertices of an Object.
+  Standard_EXPORT TDF_Label DeletedVertices() const;
   
-  //! Returns the label of the modified faces
-  //! of the first shape (S1).
-  Standard_EXPORT TDF_Label FirstModified() const;
+  //! Returns the label to insert added shapes to an Object
+  //! (given from tool).
+  Standard_EXPORT TDF_Label NewShapes() const;
   
-  //! Returns the label of the deleted faces
-  //! of the first shape (S1).
-  Standard_EXPORT TDF_Label FirstDeleted() const;
+  Standard_EXPORT TDF_Label Content() const;
   
-  //! Returns the label of the modified faces
-  //! of the second shape (S2).
-  Standard_EXPORT TDF_Label SecondModified() const;
+  Standard_EXPORT TDF_Label DeletedDegeneratedEdges() const;
   
-  //! Returns the label of the deleted faces
-  //! of the second shape (S2).
-  Standard_EXPORT TDF_Label SecondDeleted() const;
+  //! Returns true if the result is not the same as the object shape.
+  Standard_EXPORT Standard_Boolean IsResultChanged (BRepAlgoAPI_BooleanOperation& MakeShape) const;
   
-  //! Returns the label of intersections
-  Standard_EXPORT TDF_Label Intersections() const;
+  //! If the shape is a compound the method
+  //! returns the underlying shape type.
+  Standard_EXPORT static TopAbs_ShapeEnum ShapeType (const TopoDS_Shape& theShape);
+  
+  //! Returns true if workaround case identified
+  Standard_EXPORT static Standard_Boolean IsWRCase (const BRepAlgoAPI_BooleanOperation& theMS);
+  
+  //! Returns true if workaround case identified
+  Standard_EXPORT static Standard_Boolean IsWRCase2 (BRepAlgoAPI_BooleanOperation& MS);
 
 
 
 
 protected:
 
+  
+  Standard_EXPORT QANewBRepNaming_BooleanOperation();
+  
+  Standard_EXPORT QANewBRepNaming_BooleanOperation(const TDF_Label& ResultLabel);
+  
+  //! If the shape is a compound the method
+  //! returns the underlying shape.
+  Standard_EXPORT TopoDS_Shape GetShape (const TopoDS_Shape& theShape) const;
+  
+  //! A default implementation for naming of a wire as an object of
+  //! a boolean operation.
+  Standard_EXPORT void LoadWire (BRepAlgoAPI_BooleanOperation& MakeShape) const;
+  
+  //! A default implementation for naming of a shell as an object of
+  //! a boolean operation.
+  Standard_EXPORT void LoadShell (BRepAlgoAPI_BooleanOperation& MakeShape) const;
+  
+  //! Loads the content of the result.
+  Standard_EXPORT void LoadContent (BRepAlgoAPI_BooleanOperation& MakeShape) const;
+  
+  //! Loads the result.
+  Standard_EXPORT void LoadResult (BRepAlgoAPI_BooleanOperation& MakeShape) const;
+  
+  //! Loads the deletion of the degenerated edges.
+  Standard_EXPORT void LoadDegenerated (BRepAlgoAPI_BooleanOperation& MakeShape) const;
+  
+  //! To process special cases with evolution 1 to n
+  Standard_EXPORT void LoadModified1n (BRepAlgoAPI_BooleanOperation& theMS, const TopoDS_Shape& theShapeIn, const TopAbs_ShapeEnum theKindOfShape) const;
+  
+  //! To process special cases with evolution 1 to 1
+  Standard_EXPORT void LoadModified11 (BRepAlgoAPI_BooleanOperation& theMS, const TopoDS_Shape& theShapeIn, const TopAbs_ShapeEnum theKindOfShape) const;
+  
+  //! To process special case when result has symmetrical edges
+  Standard_EXPORT void LoadSymmetricalEdges (BRepAlgoAPI_BooleanOperation& theMS) const;
+  
+  Standard_EXPORT void LoadWRCase (BRepAlgoAPI_BooleanOperation& theMS) const;
 
 
 
 
 private:
 
+  
+  //! used inside LoadModified1n
+  Standard_EXPORT void Load1nFaces (BRepAlgoAPI_BooleanOperation& theMS, const TopoDS_Shape& theShapeIn) const;