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