Salome HOME
Merge with version on tag OCC-V2_1_0d
[modules/geom.git] / src / NMTAlgo / NMTAlgo_Builder.hxx
1 // File generated by CPPExt (Value)
2 //                     Copyright (C) 1991,1995 by
3 //  
4 //                      MATRA DATAVISION, FRANCE
5 //  
6 // This software is furnished in accordance with the terms and conditions
7 // of the contract and with the inclusion of the above copyright notice.
8 // This software or any other copy thereof may not be provided or otherwise
9 // be made available to any other person. No title to an ownership of the
10 // software is hereby transferred.
11 //  
12 // At the termination of the contract, the software and all copies of this
13 // software must be deleted.
14
15 #ifndef _NMTAlgo_Builder_HeaderFile
16 #define _NMTAlgo_Builder_HeaderFile
17
18 #ifndef _BRepAlgo_Image_HeaderFile
19 #include <BRepAlgo_Image.hxx>
20 #endif
21 #ifndef _TopTools_IndexedMapOfShape_HeaderFile
22 #include <TopTools_IndexedMapOfShape.hxx>
23 #endif
24 #ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile
25 #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
26 #endif
27 #ifndef _TopTools_IndexedDataMapOfShapeShape_HeaderFile
28 #include <TopTools_IndexedDataMapOfShapeShape.hxx>
29 #endif
30 #ifndef _NMTAlgo_Algo_HeaderFile
31 #include <NMTAlgo_Algo.hxx>
32 #endif
33 #ifndef _Standard_Boolean_HeaderFile
34 #include <Standard_Boolean.hxx>
35 #endif
36 class NMTTools_DSFiller;
37 class TopoDS_Edge;
38 class TopoDS_Face;
39
40
41 #ifndef _Standard_HeaderFile
42 #include <Standard.hxx>
43 #endif
44 #ifndef _Standard_Macro_HeaderFile
45 #include <Standard_Macro.hxx>
46 #endif
47
48 class NMTAlgo_Builder  : public NMTAlgo_Algo {
49
50 public:
51
52     void* operator new(size_t,void* anAddress) 
53       {
54         return anAddress;
55       }
56     void* operator new(size_t size) 
57       { 
58         return Standard::Allocate(size); 
59       }
60     void  operator delete(void *anAddress) 
61       { 
62         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
63       }
64  // Methods PUBLIC
65  // 
66 Standard_EXPORT NMTAlgo_Builder();
67 Standard_EXPORT virtual ~NMTAlgo_Builder();
68 Standard_EXPORT virtual  void Clear() ;
69 Standard_EXPORT virtual  void ComputeWithFiller(const NMTTools_DSFiller& aDSF) ;
70
71
72
73
74
75 protected:
76
77  // Methods PROTECTED
78  // 
79 Standard_EXPORT   void FillImagesEdges() ;
80 Standard_EXPORT   void FillIn2DParts() ;
81 Standard_EXPORT   void FillImagesFaces() ;
82 Standard_EXPORT   void FillSDFaces() ;
83 Standard_EXPORT   void SplitVertices() ;
84 Standard_EXPORT   Standard_Boolean IsSectionEdge(const TopoDS_Edge& E) const;
85 Standard_EXPORT   Standard_Boolean HasSameDomainF(const TopoDS_Face& F) const;
86 Standard_EXPORT   Standard_Boolean IsSameDomainF(const TopoDS_Face& F1,const TopoDS_Face& F2) const;
87
88
89  // Fields PROTECTED
90  //
91 BRepAlgo_Image myImagesEdges;
92 BRepAlgo_Image myImagesFaces;
93 TopTools_IndexedMapOfShape myQueryShapes;
94 TopTools_IndexedDataMapOfShapeListOfShape myIn2DParts;
95 TopTools_IndexedDataMapOfShapeListOfShape mySectionParts;
96 TopTools_IndexedDataMapOfShapeShape mySDFaces;
97
98
99 private: 
100
101  // Methods PRIVATE
102  // 
103
104
105  // Fields PRIVATE
106  //
107
108
109 };
110
111
112
113
114
115 // other Inline functions and methods (like "C++: function call" methods)
116 //
117
118
119 #endif