]> SALOME platform Git repositories - modules/geom.git/blob - src/PARTITION/Partition_Inter3d.hxx
Salome HOME
771b3044b22415d1e83f7545852a6aaccc5521cd
[modules/geom.git] / src / PARTITION / Partition_Inter3d.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 _Partition_Inter3d_HeaderFile
16 #define _Partition_Inter3d_HeaderFile
17
18 #ifndef _Handle_BRepAlgo_AsDes_HeaderFile
19 #include <Handle_BRepAlgo_AsDes.hxx>
20 #endif
21 #ifndef _TopTools_DataMapOfShapeListOfShape_HeaderFile
22 #include <TopTools_DataMapOfShapeListOfShape.hxx>
23 #endif
24 #ifndef _TopTools_MapOfShape_HeaderFile
25 #include <TopTools_MapOfShape.hxx>
26 #endif
27 #ifndef _TopTools_DataMapOfShapeShape_HeaderFile
28 #include <TopTools_DataMapOfShapeShape.hxx>
29 #endif
30 #ifndef _Standard_Boolean_HeaderFile
31 #include <Standard_Boolean.hxx>
32 #endif
33 class BRepAlgo_AsDes;
34 class TopTools_ListOfShape;
35 class TopTools_DataMapOfShapeShape;
36 class TopoDS_Face;
37 class TopTools_MapOfShape;
38 class TopoDS_Shape;
39 class TopoDS_Vertex;
40 class TopoDS_Edge;
41
42
43 #ifndef _Standard_HeaderFile
44 #include <Standard.hxx>
45 #endif
46 #ifndef _Standard_Macro_HeaderFile
47 #include <Standard_Macro.hxx>
48 #endif
49
50 class Partition_Inter3d  {
51
52 public:
53
54     void* operator new(size_t,void* anAddress) 
55       {
56         return anAddress;
57       }
58     void* operator new(size_t size) 
59       { 
60         return Standard::Allocate(size); 
61       }
62     void  operator delete(void *anAddress) 
63       { 
64         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
65       }
66  // Methods PUBLIC
67  // 
68 Standard_EXPORT Partition_Inter3d();
69 Standard_EXPORT Partition_Inter3d(const Handle(BRepAlgo_AsDes)& AsDes);
70 Standard_EXPORT   void CompletPart3d(const TopTools_ListOfShape& SetOfFaces1,const TopTools_DataMapOfShapeShape& FaceShapeMap) ;
71 Standard_EXPORT   void FacesPartition(const TopoDS_Face& F1,const TopoDS_Face& F2) ;
72 Standard_EXPORT   Standard_Boolean IsDone(const TopoDS_Face& F1,const TopoDS_Face& F2) const;
73 Standard_EXPORT   TopTools_MapOfShape& TouchedFaces() ;
74 Standard_EXPORT   Handle_BRepAlgo_AsDes AsDes() const;
75 Standard_EXPORT   TopTools_MapOfShape& NewEdges() ;
76 Standard_EXPORT   Standard_Boolean HasSameDomainF(const TopoDS_Shape& F) const;
77 Standard_EXPORT   Standard_Boolean IsSameDomainF(const TopoDS_Shape& F1,const TopoDS_Shape& F2) const;
78 Standard_EXPORT  const TopTools_ListOfShape& SameDomain(const TopoDS_Face& F) const;
79 Standard_EXPORT   TopoDS_Vertex ReplaceSameDomainV(const TopoDS_Vertex& V,const TopoDS_Edge& E) const;
80 Standard_EXPORT   Handle_BRepAlgo_AsDes SectionEdgesAD() const;
81 Standard_EXPORT   Standard_Boolean IsSectionEdge(const TopoDS_Edge& E) const;
82 Standard_EXPORT   Standard_Boolean HasSectionEdge(const TopoDS_Face& F) const;
83 Standard_EXPORT   Standard_Boolean IsSplitOn(const TopoDS_Edge& NewE,const TopoDS_Edge& OldE,const TopoDS_Face& F) const;
84 Standard_EXPORT  const TopTools_ListOfShape& SectionEdgeFaces(const TopoDS_Edge& SecE) const;
85
86
87
88
89
90 protected:
91
92  // Methods PROTECTED
93  // 
94
95
96  // Fields PROTECTED
97  //
98
99
100 private: 
101
102  // Methods PRIVATE
103  // 
104 Standard_EXPORT   void Inter3D(const TopoDS_Face& F1,const TopoDS_Face& F2,TopTools_ListOfShape& LInt) ;
105 Standard_EXPORT   void StorePart3d(const TopoDS_Face& F1,const TopoDS_Face& F2,const TopTools_ListOfShape& LInt1) ;
106 Standard_EXPORT   void SetDone(const TopoDS_Face& F1,const TopoDS_Face& F2) ;
107 Standard_EXPORT   void Affiche(const TopTools_ListOfShape& SetOfFaces) const;
108
109
110  // Fields PRIVATE
111  //
112 Handle_BRepAlgo_AsDes myAsDes;
113 TopTools_DataMapOfShapeListOfShape myDone;
114 TopTools_MapOfShape myTouched;
115 TopTools_MapOfShape myNewEdges;
116 Handle_BRepAlgo_AsDes mySectionEdgesAD;
117 TopTools_DataMapOfShapeListOfShape mySameDomainFM;
118 TopTools_DataMapOfShapeShape mySameDomainVM;
119
120
121 };
122
123
124
125
126
127 // other Inline functions and methods (like "C++: function call" methods)
128 //
129
130
131 #endif