]> SALOME platform Git repositories - modules/geom.git/blobdiff - src/GEOMAlgo/GEOMAlgo_Splitter.hxx
Salome HOME
Merge from BR_new_bop4 (porting to new OCCT BOP) 13/09/2013
[modules/geom.git] / src / GEOMAlgo / GEOMAlgo_Splitter.hxx
index e5488393b47d4d401e0cebb1e84c506d52f7ad00..6b4471a8774e7c7d00a16e3a31527b9ceab15c96 100644 (file)
 //  File:   GEOMAlgo_Splitter.hxx
 //
 //  Author: Peter KURNEV
-//
-#ifndef _GEOMAlgo_Splitter_HeaderFile
-#define _GEOMAlgo_Splitter_HeaderFile
+// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+
+#ifndef GEOMAlgo_Splitter_HeaderFile
+#define GEOMAlgo_Splitter_HeaderFile
 
 #include <Standard.hxx>
 #include <Standard_Macro.hxx>
-#include <TopTools_ListOfShape.hxx>
-#include <TopTools_MapOfShape.hxx>
-#include <TopAbs_ShapeEnum.hxx>
+#include <Standard_Boolean.hxx>
 #include <Standard_Integer.hxx>
-#include <GEOMAlgo_Builder.hxx>
+
+#include <NCollection_BaseAllocator.hxx>
+
+#include <TopAbs_ShapeEnum.hxx>
+
 #include <TopoDS_Shape.hxx>
 
-//! Implementation of Gluing Operation Algorithm (GA) <br>
+#include <BOPCol_ListOfShape.hxx>
+#include <BOPCol_MapOfShape.hxx>
+
+#include <BOPAlgo_Builder.hxx>
+
 //=======================================================================
-//function : GEOMAlgo_Splitter
+//class    : GEOMAlgo_Splitter
 //purpose  :
 //=======================================================================
-class GEOMAlgo_Splitter  : public GEOMAlgo_Builder
+class GEOMAlgo_Splitter : public BOPAlgo_Builder
 {
  public:
-
-  //!  Empty constructor <br>
+  
   Standard_EXPORT
     GEOMAlgo_Splitter();
 
+  Standard_EXPORT
+    GEOMAlgo_Splitter(const Handle(NCollection_BaseAllocator)& theAllocator);
+  
   Standard_EXPORT
     virtual ~GEOMAlgo_Splitter();
 
-  //!  Clears internal fields and arguments <br>
   Standard_EXPORT
-    virtual  void Clear() ;
+    void AddTool(const TopoDS_Shape& theShape);
 
-  //!  Adds Tool argument theShape of the operation <br>
   Standard_EXPORT
-    virtual  void AddTool(const TopoDS_Shape& theShape) ;
+    const BOPCol_ListOfShape& Tools()const;
 
-  //!  Returns the arguments of the operation <br>
   Standard_EXPORT
-    const TopTools_ListOfShape& Tools() const;
+    void SetLimit(const TopAbs_ShapeEnum aLimit);
 
   Standard_EXPORT
-    void SetLimit(const TopAbs_ShapeEnum aLimit) ;
+    TopAbs_ShapeEnum Limit()const;
 
   Standard_EXPORT
-    TopAbs_ShapeEnum Limit() const;
+    void SetLimitMode(const Standard_Integer aMode);
 
   Standard_EXPORT
-    void SetLimitMode(const Standard_Integer aLimitMode) ;
+    Standard_Integer LimitMode()const;
 
   Standard_EXPORT
-    Standard_Integer LimitMode() const;
-  //!  Adds Tool arguments of the operation as <br>
-  //!           shapes of upper level of container shape theShape <br>
-  //! ===================================================== <br>
-  Standard_EXPORT
-    void AddToolCompound(const TopoDS_Shape& theShape) ;
+    virtual void Clear();
 
  protected:
-  //! Build the resulting shapes of type theType <br>
-  Standard_EXPORT
-    virtual  void BuildResult(const TopAbs_ShapeEnum theType) ;
-  //!  Provides post-tratment actions <br>
   Standard_EXPORT
-    virtual  void PostTreat() ;
+    virtual void BuildResult(const TopAbs_ShapeEnum theType);
 
-
-  TopTools_ListOfShape myTools;
-  TopTools_MapOfShape myMapTools;
-  TopAbs_ShapeEnum myLimit;
-  Standard_Integer myLimitMode;
+  Standard_EXPORT
+    virtual void PostTreat();
+  
+ protected:
+  BOPCol_ListOfShape myTools; 
+  BOPCol_MapOfShape myMapTools;        
+  TopAbs_ShapeEnum myLimit;   
+  Standard_Integer myLimitMode;  
 };
+
 #endif