Integration of OCCT 6.5.0 from SVN
[occt.git] / src / BRepBuilderAPI / BRepBuilderAPI_MakeFace.cxx
1 // File:        BRepBuilderAPI_MakeFace.cxx
2 // Created:     Fri Jul 23 15:51:48 1993
3 // Author:      Remi LEQUETTE
4 //              <rle@nonox>
5
6
7 #include <BRepBuilderAPI_MakeFace.ixx>
8
9
10 //=======================================================================
11 //function : BRepBuilderAPI_MakeFace
12 //purpose  : 
13 //=======================================================================
14
15 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace()
16 {
17 }
18
19
20 //=======================================================================
21 //function : BRepBuilderAPI_MakeFace
22 //purpose  : 
23 //=======================================================================
24
25 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const TopoDS_Face& F)
26 : myMakeFace(F)
27 {
28   if ( myMakeFace.IsDone()) {
29     Done();
30     myShape = myMakeFace.Shape();
31   }
32 }
33
34
35 //=======================================================================
36 //function : BRepBuilderAPI_MakeFace
37 //purpose  : 
38 //=======================================================================
39
40 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Pln& P)
41 : myMakeFace(P)
42 {
43   if ( myMakeFace.IsDone()) {
44     Done();
45     myShape = myMakeFace.Shape();
46   }
47 }
48
49
50 //=======================================================================
51 //function : BRepBuilderAPI_MakeFace
52 //purpose  : 
53 //=======================================================================
54
55 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cylinder& C)
56 : myMakeFace(C)
57 {
58   if ( myMakeFace.IsDone()) {
59     Done();
60     myShape = myMakeFace.Shape();
61   }
62 }
63
64
65 //=======================================================================
66 //function : BRepBuilderAPI_MakeFace
67 //purpose  : 
68 //=======================================================================
69
70 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cone& C)
71 : myMakeFace(C)
72 {
73   if ( myMakeFace.IsDone()) {
74     Done();
75     myShape = myMakeFace.Shape();
76   }
77 }
78
79
80 //=======================================================================
81 //function : BRepBuilderAPI_MakeFace
82 //purpose  : 
83 //=======================================================================
84
85 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Sphere& S)
86 : myMakeFace(S)
87 {
88   if ( myMakeFace.IsDone()) {
89     Done();
90     myShape = myMakeFace.Shape();
91   }
92 }
93
94
95 //=======================================================================
96 //function : BRepBuilderAPI_MakeFace
97 //purpose  : 
98 //=======================================================================
99
100 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Torus& T)
101 : myMakeFace(T)
102 {
103   if ( myMakeFace.IsDone()) {
104     Done();
105     myShape = myMakeFace.Shape();
106   }
107 }
108
109
110 //=======================================================================
111 //function : BRepBuilderAPI_MakeFace
112 //purpose  : 
113 //=======================================================================
114
115 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const Handle(Geom_Surface)& S)
116 : myMakeFace(S)
117 {
118   if ( myMakeFace.IsDone()) {
119     Done();
120     myShape = myMakeFace.Shape();
121   }
122 }
123
124
125 //=======================================================================
126 //function : BRepBuilderAPI_MakeFace
127 //purpose  : 
128 //=======================================================================
129
130 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Pln& P,
131                                    const Standard_Real UMin,
132                                    const Standard_Real UMax,
133                                    const Standard_Real VMin,
134                                    const Standard_Real VMax)
135 : myMakeFace(P,UMin,UMax,VMin,VMax)
136 {
137   if ( myMakeFace.IsDone()) {
138     Done();
139     myShape = myMakeFace.Shape();
140   }
141 }
142
143
144 //=======================================================================
145 //function : BRepBuilderAPI_MakeFace
146 //purpose  : 
147 //=======================================================================
148
149 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cylinder& C,
150                                    const Standard_Real UMin,
151                                    const Standard_Real UMax,
152                                    const Standard_Real VMin,
153                                    const Standard_Real VMax)
154 : myMakeFace(C,UMin,UMax,VMin,VMax)
155 {
156   if ( myMakeFace.IsDone()) {
157     Done();
158     myShape = myMakeFace.Shape();
159   }
160 }
161
162
163 //=======================================================================
164 //function : BRepBuilderAPI_MakeFace
165 //purpose  : 
166 //=======================================================================
167
168 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cone& C,
169                                    const Standard_Real UMin,
170                                    const Standard_Real UMax,
171                                    const Standard_Real VMin,
172                                    const Standard_Real VMax)
173 : myMakeFace(C,UMin,UMax,VMin,VMax)
174 {
175   if ( myMakeFace.IsDone()) {
176     Done();
177     myShape = myMakeFace.Shape();
178   }
179 }
180
181
182 //=======================================================================
183 //function : BRepBuilderAPI_MakeFace
184 //purpose  : 
185 //=======================================================================
186
187 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Sphere& S,
188                                    const Standard_Real UMin,
189                                    const Standard_Real UMax,
190                                    const Standard_Real VMin,
191                                    const Standard_Real VMax)
192 : myMakeFace(S,UMin,UMax,VMin,VMax)
193 {
194   if ( myMakeFace.IsDone()) {
195     Done();
196     myShape = myMakeFace.Shape();
197   }
198 }
199
200
201 //=======================================================================
202 //function : BRepBuilderAPI_MakeFace
203 //purpose  : 
204 //=======================================================================
205
206 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Torus& T,
207                                    const Standard_Real UMin,
208                                    const Standard_Real UMax,
209                                    const Standard_Real VMin,
210                                    const Standard_Real VMax)
211 : myMakeFace(T,UMin,UMax,VMin,VMax)
212 {
213   if ( myMakeFace.IsDone()) {
214     Done();
215     myShape = myMakeFace.Shape();
216   }
217 }
218
219
220 //=======================================================================
221 //function : BRepBuilderAPI_MakeFace
222 //purpose  : 
223 //=======================================================================
224
225 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const Handle(Geom_Surface)& S,
226                                    const Standard_Real UMin,
227                                    const Standard_Real UMax,
228                                    const Standard_Real VMin,
229                                    const Standard_Real VMax)
230 : myMakeFace(S,UMin,UMax,VMin,VMax)
231 {
232   if ( myMakeFace.IsDone()) {
233     Done();
234     myShape = myMakeFace.Shape();
235   }
236 }
237
238
239 //=======================================================================
240 //function : BRepBuilderAPI_MakeFace
241 //purpose  : 
242 //=======================================================================
243
244 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const TopoDS_Wire& W,
245                                    const Standard_Boolean OnlyPlane)
246 : myMakeFace(W,OnlyPlane)
247 {
248   if ( myMakeFace.IsDone()) {
249     Done();
250     myShape = myMakeFace.Shape();
251   }
252 }
253
254
255 //=======================================================================
256 //function : BRepBuilderAPI_MakeFace
257 //purpose  : 
258 //=======================================================================
259
260 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Pln& P,
261                                    const TopoDS_Wire& W,
262                                    const Standard_Boolean Inside)
263 : myMakeFace(P,W,Inside)
264 {
265   if ( myMakeFace.IsDone()) {
266     Done();
267     myShape = myMakeFace.Shape();
268   }
269 }
270
271
272 //=======================================================================
273 //function : BRepBuilderAPI_MakeFace
274 //purpose  : 
275 //=======================================================================
276
277 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cylinder& C,
278                                    const TopoDS_Wire& W,
279                                    const Standard_Boolean Inside)
280 : myMakeFace(C,W,Inside)
281 {
282   if ( myMakeFace.IsDone()) {
283     Done();
284     myShape = myMakeFace.Shape();
285   }
286 }
287
288
289 //=======================================================================
290 //function : BRepBuilderAPI_MakeFace
291 //purpose  : 
292 //=======================================================================
293
294 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cone& C,
295                                    const TopoDS_Wire& W,
296                                    const Standard_Boolean Inside)
297 : myMakeFace(C,W,Inside)
298 {
299   if ( myMakeFace.IsDone()) {
300     Done();
301     myShape = myMakeFace.Shape();
302   }
303 }
304
305
306 //=======================================================================
307 //function : BRepBuilderAPI_MakeFace
308 //purpose  : 
309 //=======================================================================
310
311 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Sphere& S,
312                                    const TopoDS_Wire& W,
313                                    const Standard_Boolean Inside)
314 : myMakeFace(S,W,Inside)
315 {
316   if ( myMakeFace.IsDone()) {
317     Done();
318     myShape = myMakeFace.Shape();
319   }
320 }
321
322
323 //=======================================================================
324 //function : BRepBuilderAPI_MakeFace
325 //purpose  : 
326 //=======================================================================
327
328 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Torus& T,
329                                    const TopoDS_Wire& W,
330                                    const Standard_Boolean Inside)
331 : myMakeFace(T,W,Inside)
332 {
333   if ( myMakeFace.IsDone()) {
334     Done();
335     myShape = myMakeFace.Shape();
336   }
337 }
338
339
340 //=======================================================================
341 //function : BRepBuilderAPI_MakeFace
342 //purpose  : 
343 //=======================================================================
344
345 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const Handle(Geom_Surface)& S,
346                                    const TopoDS_Wire& W,
347                                    const Standard_Boolean Inside)
348 : myMakeFace(S,W,Inside)
349 {
350   if ( myMakeFace.IsDone()) {
351     Done();
352     myShape = myMakeFace.Shape();
353   }
354 }
355
356
357 //=======================================================================
358 //function : BRepBuilderAPI_MakeFace
359 //purpose  : 
360 //=======================================================================
361
362 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const TopoDS_Face& F,
363                                    const TopoDS_Wire& W)
364 : myMakeFace(F,W)
365 {
366   if ( myMakeFace.IsDone()) {
367     Done();
368     myShape = myMakeFace.Shape();
369   }
370 }
371
372 //=======================================================================
373 //function : Init
374 //purpose  : 
375 //=======================================================================
376
377 void BRepBuilderAPI_MakeFace::Init(const TopoDS_Face& F)
378 {
379   myMakeFace.Init(F);
380   if ( myMakeFace.IsDone()) {
381     Done();
382     myShape = myMakeFace.Shape();
383   }
384 }
385
386 //=======================================================================
387 //function : Init
388 //purpose  : 
389 //=======================================================================
390
391 void  BRepBuilderAPI_MakeFace::Init(const Handle(Geom_Surface)& S,
392                              const Standard_Boolean Bound)
393 {
394   myMakeFace.Init(S,Bound);
395   if ( myMakeFace.IsDone()) {
396     Done();
397     myShape = myMakeFace.Shape();
398   }
399 }
400
401
402 //=======================================================================
403 //function : Init
404 //purpose  : 
405 //=======================================================================
406
407 void  BRepBuilderAPI_MakeFace::Init(const Handle(Geom_Surface)& SS,
408                              const Standard_Real Um,
409                              const Standard_Real UM,
410                              const Standard_Real Vm,
411                              const Standard_Real VM)
412 {
413   myMakeFace.Init(SS,Um,UM,Vm,VM);
414   if ( myMakeFace.IsDone()) {
415     Done();
416     myShape = myMakeFace.Shape();
417   }
418 }
419
420
421 //=======================================================================
422 //function : Add
423 //purpose  : 
424 //=======================================================================
425
426 void  BRepBuilderAPI_MakeFace::Add(const TopoDS_Wire& W)
427 {
428   myMakeFace.Add(W);
429   if ( myMakeFace.IsDone()) {
430     Done();
431     myShape = myMakeFace.Shape();
432   }
433 }
434
435
436 //=======================================================================
437 //function : Face
438 //purpose  : 
439 //=======================================================================
440
441 const TopoDS_Face&  BRepBuilderAPI_MakeFace::Face()const 
442 {
443   return myMakeFace.Face();
444 }
445
446
447
448 //=======================================================================
449 //function : operator
450 //purpose  : 
451 //=======================================================================
452
453 BRepBuilderAPI_MakeFace::operator TopoDS_Face() const
454 {
455   return Face();
456 }
457
458 //=======================================================================
459 //function : IsDone
460 //purpose  : 
461 //=======================================================================
462
463 Standard_Boolean BRepBuilderAPI_MakeFace::IsDone() const
464 {
465   return myMakeFace.IsDone();
466 }
467
468
469 //=======================================================================
470 //function : Error
471 //purpose  : 
472 //=======================================================================
473
474 BRepBuilderAPI_FaceError BRepBuilderAPI_MakeFace::Error() const
475 {
476   switch ( myMakeFace.Error()) {
477
478   case BRepLib_FaceDone:
479     return BRepBuilderAPI_FaceDone;
480
481   case BRepLib_NoFace:
482     return BRepBuilderAPI_NoFace;
483
484   case BRepLib_NotPlanar:
485     return BRepBuilderAPI_NotPlanar;
486
487   case BRepLib_CurveProjectionFailed:
488     return BRepBuilderAPI_CurveProjectionFailed;
489
490   case BRepLib_ParametersOutOfRange:
491     return BRepBuilderAPI_ParametersOutOfRange;
492
493   }
494
495   // Portage WNT
496   return BRepBuilderAPI_FaceDone;
497 }