0022627: Change OCCT memory management defaults
[occt.git] / src / BRepBuilderAPI / BRepBuilderAPI_MakeSolid.cxx
1 // File:        BRepBuilderAPI_MakeSolid.cxx
2 // Created:     Fri Jul 23 15:51:52 1993
3 // Author:      Remi LEQUETTE
4 //              <rle@nonox>
5
6
7 #include <BRepBuilderAPI_MakeSolid.ixx>
8 #include <TopoDS.hxx>
9
10
11 //=======================================================================
12 //function : BRepBuilderAPI_MakeSolid
13 //purpose  : 
14 //=======================================================================
15
16 BRepBuilderAPI_MakeSolid::BRepBuilderAPI_MakeSolid()
17 {
18 }
19
20 //=======================================================================
21 //function : BRepBuilderAPI_MakeSolid
22 //purpose  : 
23 //=======================================================================
24
25 BRepBuilderAPI_MakeSolid::BRepBuilderAPI_MakeSolid(const TopoDS_CompSolid& S)
26 : myMakeSolid(S)
27 {
28   if ( myMakeSolid.IsDone()) {
29     Done();
30     myShape = myMakeSolid.Shape();
31   }
32 }
33
34
35 //=======================================================================
36 //function : BRepBuilderAPI_MakeSolid
37 //purpose  : 
38 //=======================================================================
39
40 BRepBuilderAPI_MakeSolid::BRepBuilderAPI_MakeSolid(const TopoDS_Shell& S)
41 : myMakeSolid(S)
42 {
43   if ( myMakeSolid.IsDone()) {
44     Done();
45     myShape = myMakeSolid.Shape();
46   }
47 }
48
49
50 //=======================================================================
51 //function : BRepBuilderAPI_MakeSolid
52 //purpose  : 
53 //=======================================================================
54
55 BRepBuilderAPI_MakeSolid::BRepBuilderAPI_MakeSolid(const TopoDS_Shell& S1, 
56                                      const TopoDS_Shell& S2)
57 : myMakeSolid(S1,S2)
58 {
59   if ( myMakeSolid.IsDone()) {
60     Done();
61     myShape = myMakeSolid.Shape();
62   }
63 }
64
65
66 //=======================================================================
67 //function : BRepBuilderAPI_MakeSolid
68 //purpose  : 
69 //=======================================================================
70
71 BRepBuilderAPI_MakeSolid::BRepBuilderAPI_MakeSolid(const TopoDS_Shell& S1, 
72                                      const TopoDS_Shell& S2, 
73                                      const TopoDS_Shell& S3)
74 : myMakeSolid(S1,S2,S3)
75 {
76   if ( myMakeSolid.IsDone()) {
77     Done();
78     myShape = myMakeSolid.Shape();
79   }
80 }
81
82
83 //=======================================================================
84 //function : BRepBuilderAPI_MakeSolid
85 //purpose  : 
86 //=======================================================================
87
88 BRepBuilderAPI_MakeSolid::BRepBuilderAPI_MakeSolid(const TopoDS_Solid& So)
89 : myMakeSolid(So)
90 {
91   if ( myMakeSolid.IsDone()) {
92     Done();
93     myShape = myMakeSolid.Shape();
94   }
95 }
96
97
98 //=======================================================================
99 //function : BRepBuilderAPI_MakeSolid
100 //purpose  : 
101 //=======================================================================
102
103 BRepBuilderAPI_MakeSolid::BRepBuilderAPI_MakeSolid(const TopoDS_Solid& So, 
104                                      const TopoDS_Shell& S)
105 : myMakeSolid(So,S)
106 {
107   if ( myMakeSolid.IsDone()) {
108     Done();
109     myShape = myMakeSolid.Shape();
110   }
111 }
112
113
114 //=======================================================================
115 //function : Add
116 //purpose  : 
117 //=======================================================================
118
119 void  BRepBuilderAPI_MakeSolid::Add(const TopoDS_Shell& S)
120 {
121   myMakeSolid.Add(S);
122   if ( myMakeSolid.IsDone()) {
123     Done();
124     myShape = myMakeSolid.Shape();
125   }
126 }
127
128 //=======================================================================
129 //function : IsDone
130 //purpose  : 
131 //=======================================================================
132
133 Standard_Boolean BRepBuilderAPI_MakeSolid::IsDone() const
134 {
135   return myMakeSolid.IsDone();
136 }
137
138
139 //=======================================================================
140 //function : Solid
141 //purpose  : 
142 //=======================================================================
143
144 const TopoDS_Solid&  BRepBuilderAPI_MakeSolid::Solid()const 
145 {
146   return myMakeSolid.Solid();
147 }
148
149
150
151 //=======================================================================
152 //function : operator
153 //purpose  : 
154 //=======================================================================
155
156 BRepBuilderAPI_MakeSolid::operator TopoDS_Solid() const
157 {
158   return Solid();
159 }
160
161 //=======================================================================
162 //function : IsDeleted
163 //purpose  : 
164 //=======================================================================
165
166 Standard_Boolean BRepBuilderAPI_MakeSolid::IsDeleted (const TopoDS_Shape& S) 
167
168 {
169   if(S.ShapeType() == TopAbs_FACE) {
170     BRepLib_ShapeModification aStatus = myMakeSolid.FaceStatus(TopoDS::Face(S));
171    
172     if(aStatus == BRepLib_Deleted) return Standard_True;
173
174   }
175     
176   return Standard_False;
177 }
178