1 // GEOM PARTITION : partition algorithm
3 // Copyright (C) 2003 CEA/DEN, EDF R&D
7 // File : Partition_Loop2d.hxx
10 #ifndef _Partition_Loop2d_HeaderFile
11 #define _Partition_Loop2d_HeaderFile
13 #ifndef _TopoDS_Face_HeaderFile
14 #include <TopoDS_Face.hxx>
16 #ifndef _TopAbs_Orientation_HeaderFile
17 #include <TopAbs_Orientation.hxx>
19 #ifndef _TopTools_ListOfShape_HeaderFile
20 #include <TopTools_ListOfShape.hxx>
22 #ifndef _TopTools_MapOfShape_HeaderFile
23 #include <TopTools_MapOfShape.hxx>
27 class TopTools_ListOfShape;
31 #ifndef _Standard_HeaderFile
32 #include <Standard.hxx>
34 #ifndef _Standard_Macro_HeaderFile
35 #include <Standard_Macro.hxx>
38 class Partition_Loop2d {
42 void* operator new(size_t,void* anAddress)
46 void* operator new(size_t size)
48 return Standard::Allocate(size);
50 void operator delete(void *anAddress)
52 if (anAddress) Standard::Free((Standard_Address&)anAddress);
56 Standard_EXPORT Partition_Loop2d();
57 Standard_EXPORT void Init(const TopoDS_Face& F) ;
58 Standard_EXPORT void AddConstEdge(const TopoDS_Edge& E) ;
59 Standard_EXPORT void AddSectionEdge(const TopoDS_Edge& E) ;
60 Standard_EXPORT void Perform() ;
61 Standard_EXPORT const TopTools_ListOfShape& NewWires() const;
62 Standard_EXPORT void WiresToFaces(const BRepAlgo_Image& EdgeImage) ;
63 Standard_EXPORT const TopTools_ListOfShape& NewFaces() const;
88 TopAbs_Orientation myFaceOri;
89 TopTools_ListOfShape myConstEdges;
90 TopTools_ListOfShape myNewWires;
91 TopTools_ListOfShape myNewFaces;
92 TopTools_ListOfShape myInternalWL;
93 TopTools_MapOfShape mySectionEdges;
102 // other Inline functions and methods (like "C++: function call" methods)