1 // Created on: 1993-07-23
2 // Created by: Remi LEQUETTE
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2012 OPEN CASCADE SAS
6 // The content of this file is subject to the Open CASCADE Technology Public
7 // License Version 6.5 (the "License"). You may not use the content of this file
8 // except in compliance with the License. Please obtain a copy of the License
9 // at http://www.opencascade.org and read it completely before using this file.
11 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 // The Original Code and all software distributed under the License is
15 // distributed on an "AS IS" basis, without warranty of any kind, and the
16 // Initial Developer hereby disclaims all such warranties, including without
17 // limitation, any warranties of merchantability, fitness for a particular
18 // purpose or non-infringement. Please see the License for the specific terms
19 // and conditions governing the rights and limitations under the License.
23 #include <BRepBuilderAPI_MakeFace.ixx>
26 //=======================================================================
27 //function : BRepBuilderAPI_MakeFace
29 //=======================================================================
31 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace()
36 //=======================================================================
37 //function : BRepBuilderAPI_MakeFace
39 //=======================================================================
41 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const TopoDS_Face& F)
44 if ( myMakeFace.IsDone()) {
46 myShape = myMakeFace.Shape();
51 //=======================================================================
52 //function : BRepBuilderAPI_MakeFace
54 //=======================================================================
56 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Pln& P)
59 if ( myMakeFace.IsDone()) {
61 myShape = myMakeFace.Shape();
66 //=======================================================================
67 //function : BRepBuilderAPI_MakeFace
69 //=======================================================================
71 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cylinder& C)
74 if ( myMakeFace.IsDone()) {
76 myShape = myMakeFace.Shape();
81 //=======================================================================
82 //function : BRepBuilderAPI_MakeFace
84 //=======================================================================
86 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cone& C)
89 if ( myMakeFace.IsDone()) {
91 myShape = myMakeFace.Shape();
96 //=======================================================================
97 //function : BRepBuilderAPI_MakeFace
99 //=======================================================================
101 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Sphere& S)
104 if ( myMakeFace.IsDone()) {
106 myShape = myMakeFace.Shape();
111 //=======================================================================
112 //function : BRepBuilderAPI_MakeFace
114 //=======================================================================
116 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Torus& T)
119 if ( myMakeFace.IsDone()) {
121 myShape = myMakeFace.Shape();
126 //=======================================================================
127 //function : BRepBuilderAPI_MakeFace
129 //=======================================================================
131 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const Handle(Geom_Surface)& S,
132 const Standard_Real TolDegen)
133 : myMakeFace(S, TolDegen)
135 if ( myMakeFace.IsDone()) {
137 myShape = myMakeFace.Shape();
142 //=======================================================================
143 //function : BRepBuilderAPI_MakeFace
145 //=======================================================================
147 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Pln& P,
148 const Standard_Real UMin,
149 const Standard_Real UMax,
150 const Standard_Real VMin,
151 const Standard_Real VMax)
152 : myMakeFace(P,UMin,UMax,VMin,VMax)
154 if ( myMakeFace.IsDone()) {
156 myShape = myMakeFace.Shape();
161 //=======================================================================
162 //function : BRepBuilderAPI_MakeFace
164 //=======================================================================
166 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cylinder& C,
167 const Standard_Real UMin,
168 const Standard_Real UMax,
169 const Standard_Real VMin,
170 const Standard_Real VMax)
171 : myMakeFace(C,UMin,UMax,VMin,VMax)
173 if ( myMakeFace.IsDone()) {
175 myShape = myMakeFace.Shape();
180 //=======================================================================
181 //function : BRepBuilderAPI_MakeFace
183 //=======================================================================
185 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cone& C,
186 const Standard_Real UMin,
187 const Standard_Real UMax,
188 const Standard_Real VMin,
189 const Standard_Real VMax)
190 : myMakeFace(C,UMin,UMax,VMin,VMax)
192 if ( myMakeFace.IsDone()) {
194 myShape = myMakeFace.Shape();
199 //=======================================================================
200 //function : BRepBuilderAPI_MakeFace
202 //=======================================================================
204 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Sphere& S,
205 const Standard_Real UMin,
206 const Standard_Real UMax,
207 const Standard_Real VMin,
208 const Standard_Real VMax)
209 : myMakeFace(S,UMin,UMax,VMin,VMax)
211 if ( myMakeFace.IsDone()) {
213 myShape = myMakeFace.Shape();
218 //=======================================================================
219 //function : BRepBuilderAPI_MakeFace
221 //=======================================================================
223 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Torus& T,
224 const Standard_Real UMin,
225 const Standard_Real UMax,
226 const Standard_Real VMin,
227 const Standard_Real VMax)
228 : myMakeFace(T,UMin,UMax,VMin,VMax)
230 if ( myMakeFace.IsDone()) {
232 myShape = myMakeFace.Shape();
237 //=======================================================================
238 //function : BRepBuilderAPI_MakeFace
240 //=======================================================================
242 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace (const Handle(Geom_Surface)& S,
243 const Standard_Real UMin,
244 const Standard_Real UMax,
245 const Standard_Real VMin,
246 const Standard_Real VMax,
247 const Standard_Real TolDegen)
248 : myMakeFace (S, UMin, UMax, VMin, VMax, TolDegen)
250 if ( myMakeFace.IsDone()) {
252 myShape = myMakeFace.Shape();
257 //=======================================================================
258 //function : BRepBuilderAPI_MakeFace
260 //=======================================================================
262 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const TopoDS_Wire& W,
263 const Standard_Boolean OnlyPlane)
264 : myMakeFace(W,OnlyPlane)
266 if ( myMakeFace.IsDone()) {
268 myShape = myMakeFace.Shape();
273 //=======================================================================
274 //function : BRepBuilderAPI_MakeFace
276 //=======================================================================
278 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Pln& P,
279 const TopoDS_Wire& W,
280 const Standard_Boolean Inside)
281 : myMakeFace(P,W,Inside)
283 if ( myMakeFace.IsDone()) {
285 myShape = myMakeFace.Shape();
290 //=======================================================================
291 //function : BRepBuilderAPI_MakeFace
293 //=======================================================================
295 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cylinder& C,
296 const TopoDS_Wire& W,
297 const Standard_Boolean Inside)
298 : myMakeFace(C,W,Inside)
300 if ( myMakeFace.IsDone()) {
302 myShape = myMakeFace.Shape();
307 //=======================================================================
308 //function : BRepBuilderAPI_MakeFace
310 //=======================================================================
312 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Cone& C,
313 const TopoDS_Wire& W,
314 const Standard_Boolean Inside)
315 : myMakeFace(C,W,Inside)
317 if ( myMakeFace.IsDone()) {
319 myShape = myMakeFace.Shape();
324 //=======================================================================
325 //function : BRepBuilderAPI_MakeFace
327 //=======================================================================
329 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Sphere& S,
330 const TopoDS_Wire& W,
331 const Standard_Boolean Inside)
332 : myMakeFace(S,W,Inside)
334 if ( myMakeFace.IsDone()) {
336 myShape = myMakeFace.Shape();
341 //=======================================================================
342 //function : BRepBuilderAPI_MakeFace
344 //=======================================================================
346 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const gp_Torus& T,
347 const TopoDS_Wire& W,
348 const Standard_Boolean Inside)
349 : myMakeFace(T,W,Inside)
351 if ( myMakeFace.IsDone()) {
353 myShape = myMakeFace.Shape();
358 //=======================================================================
359 //function : BRepBuilderAPI_MakeFace
361 //=======================================================================
363 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const Handle(Geom_Surface)& S,
364 const TopoDS_Wire& W,
365 const Standard_Boolean Inside)
366 : myMakeFace(S,W,Inside)
368 if ( myMakeFace.IsDone()) {
370 myShape = myMakeFace.Shape();
375 //=======================================================================
376 //function : BRepBuilderAPI_MakeFace
378 //=======================================================================
380 BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(const TopoDS_Face& F,
381 const TopoDS_Wire& W)
384 if ( myMakeFace.IsDone()) {
386 myShape = myMakeFace.Shape();
390 //=======================================================================
393 //=======================================================================
395 void BRepBuilderAPI_MakeFace::Init(const TopoDS_Face& F)
398 if ( myMakeFace.IsDone()) {
400 myShape = myMakeFace.Shape();
404 //=======================================================================
407 //=======================================================================
409 void BRepBuilderAPI_MakeFace::Init(const Handle(Geom_Surface)& S,
410 const Standard_Boolean Bound,
411 const Standard_Real TolDegen)
413 myMakeFace.Init(S, Bound, TolDegen);
414 if ( myMakeFace.IsDone()) {
416 myShape = myMakeFace.Shape();
421 //=======================================================================
424 //=======================================================================
426 void BRepBuilderAPI_MakeFace::Init (const Handle(Geom_Surface)& SS,
427 const Standard_Real Um,
428 const Standard_Real UM,
429 const Standard_Real Vm,
430 const Standard_Real VM,
431 const Standard_Real TolDegen)
433 myMakeFace.Init (SS, Um, UM, Vm, VM, TolDegen);
434 if ( myMakeFace.IsDone()) {
436 myShape = myMakeFace.Shape();
441 //=======================================================================
444 //=======================================================================
446 void BRepBuilderAPI_MakeFace::Add(const TopoDS_Wire& W)
449 if ( myMakeFace.IsDone()) {
451 myShape = myMakeFace.Shape();
456 //=======================================================================
459 //=======================================================================
461 const TopoDS_Face& BRepBuilderAPI_MakeFace::Face()const
463 return myMakeFace.Face();
468 //=======================================================================
469 //function : operator
471 //=======================================================================
473 BRepBuilderAPI_MakeFace::operator TopoDS_Face() const
478 //=======================================================================
481 //=======================================================================
483 Standard_Boolean BRepBuilderAPI_MakeFace::IsDone() const
485 return myMakeFace.IsDone();
489 //=======================================================================
492 //=======================================================================
494 BRepBuilderAPI_FaceError BRepBuilderAPI_MakeFace::Error() const
496 switch ( myMakeFace.Error()) {
498 case BRepLib_FaceDone:
499 return BRepBuilderAPI_FaceDone;
502 return BRepBuilderAPI_NoFace;
504 case BRepLib_NotPlanar:
505 return BRepBuilderAPI_NotPlanar;
507 case BRepLib_CurveProjectionFailed:
508 return BRepBuilderAPI_CurveProjectionFailed;
510 case BRepLib_ParametersOutOfRange:
511 return BRepBuilderAPI_ParametersOutOfRange;
516 return BRepBuilderAPI_FaceDone;