0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepBuilderAPI / BRepBuilderAPI_MakeEdge2d.cxx
CommitLineData
b311480e 1// Created on: 1993-07-23
2// Created by: Remi LEQUETTE
3// Copyright (c) 1993-1999 Matra Datavision
973c2be1 4// Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5//
973c2be1 6// This file is part of Open CASCADE Technology software library.
b311480e 7//
d5f74e42 8// This library is free software; you can redistribute it and/or modify it under
9// the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 10// by the Free Software Foundation, with special exception defined in the file
11// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12// distribution for complete text of the license and disclaimer of any warranty.
b311480e 13//
973c2be1 14// Alternatively, this file may be used under the terms of Open CASCADE
15// commercial license or contractual agreement.
7fd59977 16
17#include <BRepBuilderAPI_MakeEdge2d.ixx>
18
19
20//=======================================================================
21//function : BRepBuilderAPI_MakeEdge2d
22//purpose :
23//=======================================================================
24
25BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const TopoDS_Vertex& V1,
26 const TopoDS_Vertex& V2)
27: myMakeEdge2d(V1,V2)
28{
29 if ( myMakeEdge2d.IsDone()) {
30 Done();
31 myShape = myMakeEdge2d.Shape();
32 }
33}
34
35//=======================================================================
36//function : BRepBuilderAPI_MakeEdge2d
37//purpose :
38//=======================================================================
39
40BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Pnt2d& P1,
41 const gp_Pnt2d& P2)
42: myMakeEdge2d(P1,P2)
43{
44 if ( myMakeEdge2d.IsDone()) {
45 Done();
46 myShape = myMakeEdge2d.Shape();
47 }
48}
49
50
51//=======================================================================
52//function : BRepBuilderAPI_MakeEdge2d
53//purpose :
54//=======================================================================
55
56BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Lin2d& L)
57: myMakeEdge2d(L)
58{
59 if ( myMakeEdge2d.IsDone()) {
60 Done();
61 myShape = myMakeEdge2d.Shape();
62 }
63}
64
65//=======================================================================
66//function : BRepBuilderAPI_MakeEdge2d
67//purpose :
68//=======================================================================
69
70BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Lin2d& L,
71 const Standard_Real p1,
72 const Standard_Real p2)
73: myMakeEdge2d(L,p1,p2)
74{
75 if ( myMakeEdge2d.IsDone()) {
76 Done();
77 myShape = myMakeEdge2d.Shape();
78 }
79}
80
81//=======================================================================
82//function : BRepBuilderAPI_MakeEdge2d
83//purpose :
84//=======================================================================
85
86BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Lin2d& L,
87 const gp_Pnt2d& P1,
88 const gp_Pnt2d& P2)
89: myMakeEdge2d(L,P1,P2)
90{
91 if ( myMakeEdge2d.IsDone()) {
92 Done();
93 myShape = myMakeEdge2d.Shape();
94 }
95}
96
97//=======================================================================
98//function : BRepBuilderAPI_MakeEdge2d
99//purpose :
100//=======================================================================
101
102BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Lin2d& L,
103 const TopoDS_Vertex& V1,
104 const TopoDS_Vertex& V2)
105: myMakeEdge2d(L,V1,V2)
106{
107 if ( myMakeEdge2d.IsDone()) {
108 Done();
109 myShape = myMakeEdge2d.Shape();
110 }
111}
112
113//=======================================================================
114//function : BRepBuilderAPI_MakeEdge2d
115//purpose :
116//=======================================================================
117
118BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Circ2d& C)
119: myMakeEdge2d(C)
120{
121 if ( myMakeEdge2d.IsDone()) {
122 Done();
123 myShape = myMakeEdge2d.Shape();
124 }
125}
126
127//=======================================================================
128//function : BRepBuilderAPI_MakeEdge2d
129//purpose :
130//=======================================================================
131
132BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Circ2d& C,
133 const Standard_Real p1,
134 const Standard_Real p2)
135:myMakeEdge2d(C,p1,p2)
136{
137 if ( myMakeEdge2d.IsDone()) {
138 Done();
139 myShape = myMakeEdge2d.Shape();
140 }
141}
142
143//=======================================================================
144//function : BRepBuilderAPI_MakeEdge2d
145//purpose :
146//=======================================================================
147
148BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Circ2d& C,
149 const gp_Pnt2d& P1,
150 const gp_Pnt2d& P2)
151: myMakeEdge2d(C,P1,P2)
152{
153 if ( myMakeEdge2d.IsDone()) {
154 Done();
155 myShape = myMakeEdge2d.Shape();
156 }
157}
158
159//=======================================================================
160//function : BRepBuilderAPI_MakeEdge2d
161//purpose :
162//=======================================================================
163
164BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Circ2d& C,
165 const TopoDS_Vertex& V1,
166 const TopoDS_Vertex& V2)
167: myMakeEdge2d(C,V1,V2)
168{
169 if ( myMakeEdge2d.IsDone()) {
170 Done();
171 myShape = myMakeEdge2d.Shape();
172 }
173}
174
175//=======================================================================
176//function : BRepBuilderAPI_MakeEdge2d
177//purpose :
178//=======================================================================
179
180BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Elips2d& E)
181: myMakeEdge2d(E)
182{
183 if ( myMakeEdge2d.IsDone()) {
184 Done();
185 myShape = myMakeEdge2d.Shape();
186 }
187}
188
189//=======================================================================
190//function : BRepBuilderAPI_MakeEdge2d
191//purpose :
192//=======================================================================
193
194BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Elips2d& E,
195 const Standard_Real p1,
196 const Standard_Real p2)
197: myMakeEdge2d(E,p1,p2)
198{
199 if ( myMakeEdge2d.IsDone()) {
200 Done();
201 myShape = myMakeEdge2d.Shape();
202 }
203}
204
205//=======================================================================
206//function : BRepBuilderAPI_MakeEdge2d
207//purpose :
208//=======================================================================
209
210BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Elips2d& E,
211 const gp_Pnt2d& P1,
212 const gp_Pnt2d& P2)
213: myMakeEdge2d(E,P1,P2)
214{
215 if ( myMakeEdge2d.IsDone()) {
216 Done();
217 myShape = myMakeEdge2d.Shape();
218 }
219}
220
221//=======================================================================
222//function : BRepBuilderAPI_MakeEdge2d
223//purpose :
224//=======================================================================
225
226BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Elips2d& E,
227 const TopoDS_Vertex& V1,
228 const TopoDS_Vertex& V2)
229: myMakeEdge2d(E,V1,V2)
230{
231 if ( myMakeEdge2d.IsDone()) {
232 Done();
233 myShape = myMakeEdge2d.Shape();
234 }
235}
236
237//=======================================================================
238//function : BRepBuilderAPI_MakeEdge2d
239//purpose :
240//=======================================================================
241
242BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Hypr2d& H)
243: myMakeEdge2d(H)
244{
245 if ( myMakeEdge2d.IsDone()) {
246 Done();
247 myShape = myMakeEdge2d.Shape();
248 }
249}
250
251//=======================================================================
252//function : BRepBuilderAPI_MakeEdge2d
253//purpose :
254//=======================================================================
255
256BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Hypr2d& H,
257 const Standard_Real p1,
258 const Standard_Real p2)
259: myMakeEdge2d(H,p1,p2)
260{
261 if ( myMakeEdge2d.IsDone()) {
262 Done();
263 myShape = myMakeEdge2d.Shape();
264 }
265}
266
267//=======================================================================
268//function : BRepBuilderAPI_MakeEdge2d
269//purpose :
270//=======================================================================
271
272BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Hypr2d& H,
273 const gp_Pnt2d& P1,
274 const gp_Pnt2d& P2)
275: myMakeEdge2d(H,P1,P2)
276{
277 if ( myMakeEdge2d.IsDone()) {
278 Done();
279 myShape = myMakeEdge2d.Shape();
280 }
281}
282
283//=======================================================================
284//function : BRepBuilderAPI_MakeEdge2d
285//purpose :
286//=======================================================================
287
288BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Hypr2d& H,
289 const TopoDS_Vertex& V1,
290 const TopoDS_Vertex& V2)
291: myMakeEdge2d(H,V1,V2)
292{
293 if ( myMakeEdge2d.IsDone()) {
294 Done();
295 myShape = myMakeEdge2d.Shape();
296 }
297}
298
299//=======================================================================
300//function : BRepBuilderAPI_MakeEdge2d
301//purpose :
302//=======================================================================
303
304BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Parab2d& P)
305: myMakeEdge2d(P)
306{
307 if ( myMakeEdge2d.IsDone()) {
308 Done();
309 myShape = myMakeEdge2d.Shape();
310 }
311}
312
313//=======================================================================
314//function : BRepBuilderAPI_MakeEdge2d
315//purpose :
316//=======================================================================
317
318BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Parab2d& P,
319 const Standard_Real p1,
320 const Standard_Real p2)
321: myMakeEdge2d(P,p1,p2)
322{
323 if ( myMakeEdge2d.IsDone()) {
324 Done();
325 myShape = myMakeEdge2d.Shape();
326 }
327}
328
329//=======================================================================
330//function : BRepBuilderAPI_MakeEdge2d
331//purpose :
332//=======================================================================
333
334BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Parab2d& P,
335 const gp_Pnt2d& P1,
336 const gp_Pnt2d& P2)
337: myMakeEdge2d(P,P1,P2)
338{
339 if ( myMakeEdge2d.IsDone()) {
340 Done();
341 myShape = myMakeEdge2d.Shape();
342 }
343}
344
345//=======================================================================
346//function : BRepBuilderAPI_MakeEdge2d
347//purpose :
348//=======================================================================
349
350BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const gp_Parab2d& P,
351 const TopoDS_Vertex& V1,
352 const TopoDS_Vertex& V2)
353: myMakeEdge2d(P,V1,V2)
354{
355 if ( myMakeEdge2d.IsDone()) {
356 Done();
357 myShape = myMakeEdge2d.Shape();
358 }
359}
360
361//=======================================================================
362//function : BRepBuilderAPI_MakeEdge2d
363//purpose :
364//=======================================================================
365
366BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const Handle(Geom2d_Curve)& L)
367: myMakeEdge2d(L)
368{
369 if ( myMakeEdge2d.IsDone()) {
370 Done();
371 myShape = myMakeEdge2d.Shape();
372 }
373}
374
375//=======================================================================
376//function : BRepBuilderAPI_MakeEdge2d
377//purpose :
378//=======================================================================
379
380BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const Handle(Geom2d_Curve)& L,
381 const Standard_Real p1,
382 const Standard_Real p2)
383: myMakeEdge2d(L,p1,p2)
384{
385 if ( myMakeEdge2d.IsDone()) {
386 Done();
387 myShape = myMakeEdge2d.Shape();
388 }
389}
390
391//=======================================================================
392//function : BRepBuilderAPI_MakeEdge2d
393//purpose :
394//=======================================================================
395
396BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const Handle(Geom2d_Curve)& L,
397 const gp_Pnt2d& P1,
398 const gp_Pnt2d& P2)
399: myMakeEdge2d(L,P1,P2)
400{
401 if ( myMakeEdge2d.IsDone()) {
402 Done();
403 myShape = myMakeEdge2d.Shape();
404 }
405}
406
407//=======================================================================
408//function : BRepBuilderAPI_MakeEdge2d
409//purpose :
410//=======================================================================
411
412BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const Handle(Geom2d_Curve)& L,
413 const TopoDS_Vertex& V1,
414 const TopoDS_Vertex& V2)
415: myMakeEdge2d(L,V1,V2)
416{
417 if ( myMakeEdge2d.IsDone()) {
418 Done();
419 myShape = myMakeEdge2d.Shape();
420 }
421}
422
423//=======================================================================
424//function : BRepBuilderAPI_MakeEdge2d
425//purpose :
426//=======================================================================
427
428BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const Handle(Geom2d_Curve)& L,
429 const gp_Pnt2d& P1,
430 const gp_Pnt2d& P2,
431 const Standard_Real p1,
432 const Standard_Real p2)
433: myMakeEdge2d(L,P1,P2,p1,p2)
434{
435 if ( myMakeEdge2d.IsDone()) {
436 Done();
437 myShape = myMakeEdge2d.Shape();
438 }
439}
440
441//=======================================================================
442//function : BRepBuilderAPI_MakeEdge2d
443//purpose :
444//=======================================================================
445
446BRepBuilderAPI_MakeEdge2d::BRepBuilderAPI_MakeEdge2d(const Handle(Geom2d_Curve)& L,
447 const TopoDS_Vertex& V1,
448 const TopoDS_Vertex& V2,
449 const Standard_Real p1,
450 const Standard_Real p2)
451: myMakeEdge2d(L,V1,V2,p1,p2)
452{
453 if ( myMakeEdge2d.IsDone()) {
454 Done();
455 myShape = myMakeEdge2d.Shape();
456 }
457}
458
459//=======================================================================
460//function : Init
461//purpose :
462//=======================================================================
463
464void BRepBuilderAPI_MakeEdge2d::Init(const Handle(Geom2d_Curve)& C)
465{
466 myMakeEdge2d.Init(C);
467 if ( myMakeEdge2d.IsDone()) {
468 Done();
469 myShape = myMakeEdge2d.Shape();
470 }
471}
472
473//=======================================================================
474//function : Init
475//purpose :
476//=======================================================================
477
478void BRepBuilderAPI_MakeEdge2d::Init(const Handle(Geom2d_Curve)& C,
479 const Standard_Real p1,
480 const Standard_Real p2)
481{
482 myMakeEdge2d.Init(C,p1,p2);
483 if ( myMakeEdge2d.IsDone()) {
484 Done();
485 myShape = myMakeEdge2d.Shape();
486 }
487}
488
489//=======================================================================
490//function : Init
491//purpose :
492//=======================================================================
493
494void BRepBuilderAPI_MakeEdge2d::Init(const Handle(Geom2d_Curve)& C,
495 const gp_Pnt2d& P1,
496 const gp_Pnt2d& P2)
497{
498 myMakeEdge2d.Init(C,P1,P2);
499 if ( myMakeEdge2d.IsDone()) {
500 Done();
501 myShape = myMakeEdge2d.Shape();
502 }
503}
504
505//=======================================================================
506//function : Init
507//purpose :
508//=======================================================================
509
510void BRepBuilderAPI_MakeEdge2d::Init(const Handle(Geom2d_Curve)& C,
511 const TopoDS_Vertex& V1,
512 const TopoDS_Vertex& V2)
513{
514 myMakeEdge2d.Init(C,V1,V2);
515 if ( myMakeEdge2d.IsDone()) {
516 Done();
517 myShape = myMakeEdge2d.Shape();
518 }
519}
520
521
522//=======================================================================
523//function : Init
524//purpose :
525//=======================================================================
526
527void BRepBuilderAPI_MakeEdge2d::Init(const Handle(Geom2d_Curve)& C,
528 const gp_Pnt2d& P1,
529 const gp_Pnt2d& P2,
530 const Standard_Real p1,
531 const Standard_Real p2)
532{
533 myMakeEdge2d.Init(C,P1,P2,p1,p2);
534 if ( myMakeEdge2d.IsDone()) {
535 Done();
536 myShape = myMakeEdge2d.Shape();
537 }
538}
539
540
541//=======================================================================
542//function : Init
543//purpose :
544//=======================================================================
545
546void BRepBuilderAPI_MakeEdge2d::Init(const Handle(Geom2d_Curve)& CC,
547 const TopoDS_Vertex& VV1,
548 const TopoDS_Vertex& VV2,
549 const Standard_Real pp1,
550 const Standard_Real pp2)
551{
552 myMakeEdge2d.Init(CC,VV1,VV2,pp1,pp2);
553 if ( myMakeEdge2d.IsDone()) {
554 Done();
555 myShape = myMakeEdge2d.Shape();
556 }
557}
558
559//=======================================================================
560//function : IsDone
561//purpose :
562//=======================================================================
563
564Standard_Boolean BRepBuilderAPI_MakeEdge2d::IsDone() const
565{
566 return myMakeEdge2d.IsDone();
567}
568
569
570//=======================================================================
571//function : Error
572//purpose :
573//=======================================================================
574
575BRepBuilderAPI_EdgeError BRepBuilderAPI_MakeEdge2d::Error() const
576{
577 switch ( myMakeEdge2d.Error()) {
578
579 case BRepLib_EdgeDone:
580 return BRepBuilderAPI_EdgeDone;
581
582 case BRepLib_PointProjectionFailed:
583 return BRepBuilderAPI_PointProjectionFailed;
584
585 case BRepLib_ParameterOutOfRange:
586 return BRepBuilderAPI_ParameterOutOfRange;
587
588 case BRepLib_DifferentPointsOnClosedCurve:
589 return BRepBuilderAPI_DifferentPointsOnClosedCurve;
590
591 case BRepLib_PointWithInfiniteParameter:
592 return BRepBuilderAPI_PointWithInfiniteParameter;
593
594 case BRepLib_DifferentsPointAndParameter:
595 return BRepBuilderAPI_DifferentsPointAndParameter;
596
597 case BRepLib_LineThroughIdenticPoints:
598 return BRepBuilderAPI_LineThroughIdenticPoints;
599
600 }
601
602 // portage WNT
603 return BRepBuilderAPI_EdgeDone;
604}
605
606//=======================================================================
607//function : Edge
608//purpose :
609//=======================================================================
610
611const TopoDS_Edge& BRepBuilderAPI_MakeEdge2d::Edge()const
612{
613 return myMakeEdge2d.Edge();
614}
615
616
617//=======================================================================
618//function : Vertex1
619//purpose :
620//=======================================================================
621
622const TopoDS_Vertex& BRepBuilderAPI_MakeEdge2d::Vertex1()const
623{
624 return myMakeEdge2d.Vertex1();
625}
626
627
628//=======================================================================
629//function : Vertex2
630//purpose :
631//=======================================================================
632
633const TopoDS_Vertex& BRepBuilderAPI_MakeEdge2d::Vertex2()const
634{
635 return myMakeEdge2d.Vertex2();
636}
637
638
639
640//=======================================================================
641//function : operator
642//purpose :
643//=======================================================================
644
645BRepBuilderAPI_MakeEdge2d::operator TopoDS_Edge() const
646{
647 return Edge();
648}