Salome HOME
Modified a method createAndDisplayGO
[modules/geom.git] / src / PARTITION / Partition_Loop2d.hxx
1 //  GEOM PARTITION : partition algorithm
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : Partition_Loop2d.hxx
8 //  Module : GEOM
9
10 #ifndef _Partition_Loop2d_HeaderFile
11 #define _Partition_Loop2d_HeaderFile
12
13 #ifndef _TopoDS_Face_HeaderFile
14 #include <TopoDS_Face.hxx>
15 #endif
16 #ifndef _TopAbs_Orientation_HeaderFile
17 #include <TopAbs_Orientation.hxx>
18 #endif
19 #ifndef _TopTools_ListOfShape_HeaderFile
20 #include <TopTools_ListOfShape.hxx>
21 #endif
22 #ifndef _TopTools_MapOfShape_HeaderFile
23 #include <TopTools_MapOfShape.hxx>
24 #endif
25 class TopoDS_Face;
26 class TopoDS_Edge;
27 class TopTools_ListOfShape;
28 class BRepAlgo_Image;
29
30
31 #ifndef _Standard_HeaderFile
32 #include <Standard.hxx>
33 #endif
34 #ifndef _Standard_Macro_HeaderFile
35 #include <Standard_Macro.hxx>
36 #endif
37
38 class Partition_Loop2d  {
39
40 public:
41
42     void* operator new(size_t,void* anAddress) 
43       {
44         return anAddress;
45       }
46     void* operator new(size_t size) 
47       { 
48         return Standard::Allocate(size); 
49       }
50     void  operator delete(void *anAddress) 
51       { 
52         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
53       }
54  // Methods PUBLIC
55  // 
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;
64
65
66
67
68
69 protected:
70
71  // Methods PROTECTED
72  // 
73
74
75  // Fields PROTECTED
76  //
77
78
79 private: 
80
81  // Methods PRIVATE
82  // 
83
84
85  // Fields PRIVATE
86  //
87 TopoDS_Face myFace;
88 TopAbs_Orientation myFaceOri;
89 TopTools_ListOfShape myConstEdges;
90 TopTools_ListOfShape myNewWires;
91 TopTools_ListOfShape myNewFaces;
92 TopTools_ListOfShape myInternalWL;
93 TopTools_MapOfShape mySectionEdges;
94
95
96 };
97
98
99
100
101
102 // other Inline functions and methods (like "C++: function call" methods)
103 //
104
105
106 #endif