0024002: Overall code and build procedure refactoring -- automatic
[occt.git] / src / BRepBuilderAPI / BRepBuilderAPI_MakeEdge.cxx
1 // Created on: 1993-07-23
2 // Created by: Remi LEQUETTE
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
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
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.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17
18 #include <BRepBuilderAPI_MakeEdge.hxx>
19 #include <Geom2d_Curve.hxx>
20 #include <Geom_Curve.hxx>
21 #include <Geom_Surface.hxx>
22 #include <gp_Circ.hxx>
23 #include <gp_Elips.hxx>
24 #include <gp_Hypr.hxx>
25 #include <gp_Lin.hxx>
26 #include <gp_Parab.hxx>
27 #include <gp_Pnt.hxx>
28 #include <StdFail_NotDone.hxx>
29 #include <TopoDS_Edge.hxx>
30 #include <TopoDS_Vertex.hxx>
31
32 //=======================================================================
33 //function : BRepBuilderAPI_MakeEdge
34 //purpose  : 
35 //=======================================================================
36 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge()
37 {}
38
39 //=======================================================================
40 //function : BRepBuilderAPI_MakeEdge
41 //purpose  : 
42 //=======================================================================
43
44 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const TopoDS_Vertex& V1, 
45                                    const TopoDS_Vertex& V2)
46 : myMakeEdge(V1,V2)
47 {
48   if ( myMakeEdge.IsDone()) {
49     Done();
50     myShape = myMakeEdge.Shape();
51   }
52 }
53
54
55 //=======================================================================
56 //function : BRepBuilderAPI_MakeEdge
57 //purpose  : 
58 //=======================================================================
59
60 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Pnt& P1, 
61                                    const gp_Pnt& P2)
62 : myMakeEdge(P1,P2)
63 {
64   if ( myMakeEdge.IsDone()) {
65     Done();
66     myShape = myMakeEdge.Shape();
67   }
68 }
69
70
71 //=======================================================================
72 //function : BRepBuilderAPI_MakeEdge
73 //purpose  : 
74 //=======================================================================
75
76 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Lin& L)
77 : myMakeEdge(L)
78 {
79   if ( myMakeEdge.IsDone()) {
80     Done();
81     myShape = myMakeEdge.Shape();
82   }
83 }
84
85
86 //=======================================================================
87 //function : BRepBuilderAPI_MakeEdge
88 //purpose  : 
89 //=======================================================================
90
91 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Lin& L, 
92                                    const Standard_Real p1, 
93                                    const Standard_Real p2)
94 : myMakeEdge(L,p1,p2)
95 {
96   if ( myMakeEdge.IsDone()) {
97     Done();
98     myShape = myMakeEdge.Shape();
99   }
100 }
101
102
103 //=======================================================================
104 //function : BRepBuilderAPI_MakeEdge
105 //purpose  : 
106 //=======================================================================
107
108 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Lin& L, 
109                                    const gp_Pnt& P1, 
110                                    const gp_Pnt& P2)
111 : myMakeEdge(L,P1,P2)
112 {
113   if ( myMakeEdge.IsDone()) {
114     Done();
115     myShape = myMakeEdge.Shape();
116   }
117 }
118
119
120 //=======================================================================
121 //function : BRepBuilderAPI_MakeEdge
122 //purpose  : 
123 //=======================================================================
124
125 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Lin& L, 
126                                    const TopoDS_Vertex& V1, 
127                                    const TopoDS_Vertex& V2)
128 : myMakeEdge(L,V1,V2)
129 {
130   if ( myMakeEdge.IsDone()) {
131     Done();
132     myShape = myMakeEdge.Shape();
133   }
134 }
135
136
137 //=======================================================================
138 //function : BRepBuilderAPI_MakeEdge
139 //purpose  : 
140 //=======================================================================
141
142 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Circ& C) 
143 : myMakeEdge(C)
144 {
145   if ( myMakeEdge.IsDone()) {
146     Done();
147     myShape = myMakeEdge.Shape();
148   }
149 }
150
151
152 //=======================================================================
153 //function : BRepBuilderAPI_MakeEdge
154 //purpose  : 
155 //=======================================================================
156
157 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Circ& C,
158                                    const Standard_Real p1,
159                                    const Standard_Real p2)
160 : myMakeEdge(C,p1,p2)
161 {
162   if ( myMakeEdge.IsDone()) {
163     Done();
164     myShape = myMakeEdge.Shape();
165   }
166 }
167
168
169 //=======================================================================
170 //function : BRepBuilderAPI_MakeEdge
171 //purpose  : 
172 //=======================================================================
173
174 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Circ& C ,
175                                    const gp_Pnt&  P1,
176                                    const gp_Pnt&  P2 )
177 : myMakeEdge(C,P1,P2)
178 {
179   if ( myMakeEdge.IsDone()) {
180     Done();
181     myShape = myMakeEdge.Shape();
182   }
183 }
184
185
186 //=======================================================================
187 //function : BRepBuilderAPI_MakeEdge
188 //purpose  : 
189 //=======================================================================
190
191 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Circ& C,
192                                    const TopoDS_Vertex& V1,
193                                    const TopoDS_Vertex& V2)
194 : myMakeEdge(C,V1,V2)
195 {
196   if ( myMakeEdge.IsDone()) {
197     Done();
198     myShape = myMakeEdge.Shape();
199   }
200 }
201
202
203 //=======================================================================
204 //function : BRepBuilderAPI_MakeEdge
205 //purpose  : 
206 //=======================================================================
207
208 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Elips& E) 
209 :myMakeEdge(E)
210 {
211   if ( myMakeEdge.IsDone()) {
212     Done();
213     myShape = myMakeEdge.Shape();
214   }
215 }
216
217
218 //=======================================================================
219 //function : BRepBuilderAPI_MakeEdge
220 //purpose  : 
221 //=======================================================================
222
223 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Elips& E,
224                                    const Standard_Real p1,
225                                    const Standard_Real p2)
226 : myMakeEdge(E,p1,p2)
227 {
228   if ( myMakeEdge.IsDone()) {
229     Done();
230     myShape = myMakeEdge.Shape();
231   }
232 }
233
234
235 //=======================================================================
236 //function : BRepBuilderAPI_MakeEdge
237 //purpose  : 
238 //=======================================================================
239
240 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Elips& E,
241                                    const gp_Pnt& P1,
242                                    const gp_Pnt& P2)
243 : myMakeEdge(E,P1,P2)
244 {
245   if ( myMakeEdge.IsDone()) {
246     Done();
247     myShape = myMakeEdge.Shape();
248   }
249 }
250
251
252 //=======================================================================
253 //function : BRepBuilderAPI_MakeEdge
254 //purpose  : 
255 //=======================================================================
256
257 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Elips& E,
258                                    const TopoDS_Vertex& V1,
259                                    const TopoDS_Vertex& V2)
260 : myMakeEdge(E,V1,V2)
261 {
262   if ( myMakeEdge.IsDone()) {
263     Done();
264     myShape = myMakeEdge.Shape();
265   }
266 }
267
268
269 //=======================================================================
270 //function : BRepBuilderAPI_MakeEdge
271 //purpose  : 
272 //=======================================================================
273
274 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Hypr& H)
275 : myMakeEdge(H)
276 {
277   if ( myMakeEdge.IsDone()) {
278     Done();
279     myShape = myMakeEdge.Shape();
280   }
281 }
282
283
284 //=======================================================================
285 //function : BRepBuilderAPI_MakeEdge
286 //purpose  : 
287 //=======================================================================
288
289 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Hypr& H,
290                                    const Standard_Real p1,
291                                    const Standard_Real p2)
292 : myMakeEdge(H,p1,p2)
293 {
294   if ( myMakeEdge.IsDone()) {
295     Done();
296     myShape = myMakeEdge.Shape();
297   }
298 }
299
300
301 //=======================================================================
302 //function : BRepBuilderAPI_MakeEdge
303 //purpose  : 
304 //=======================================================================
305
306 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Hypr& H,
307                                    const gp_Pnt& P1,
308                                    const gp_Pnt& P2)
309 : myMakeEdge(H,P1,P2)
310 {
311   if ( myMakeEdge.IsDone()) {
312     Done();
313     myShape = myMakeEdge.Shape();
314   }
315 }
316
317
318 //=======================================================================
319 //function : BRepBuilderAPI_MakeEdge
320 //purpose  : 
321 //=======================================================================
322
323 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Hypr& H,
324                                    const TopoDS_Vertex& V1,
325                                    const TopoDS_Vertex& V2)
326 : myMakeEdge(H,V1,V2)
327 {
328   if ( myMakeEdge.IsDone()) {
329     Done();
330     myShape = myMakeEdge.Shape();
331   }
332 }
333
334
335 //=======================================================================
336 //function : BRepBuilderAPI_MakeEdge
337 //purpose  : 
338 //=======================================================================
339
340 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Parab& P)
341 : myMakeEdge(P)
342 {
343   if ( myMakeEdge.IsDone()) {
344     Done();
345     myShape = myMakeEdge.Shape();
346   }
347 }
348
349
350 //=======================================================================
351 //function : BRepBuilderAPI_MakeEdge
352 //purpose  : 
353 //=======================================================================
354
355 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Parab& P,
356                                    const Standard_Real p1,
357                                    const Standard_Real p2)
358 : myMakeEdge(P,p1,p2)
359 {
360   if ( myMakeEdge.IsDone()) {
361     Done();
362     myShape = myMakeEdge.Shape();
363   }
364 }
365
366
367 //=======================================================================
368 //function : BRepBuilderAPI_MakeEdge
369 //purpose  : 
370 //=======================================================================
371
372 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Parab& P,
373                                    const gp_Pnt& P1,
374                                    const gp_Pnt& P2)
375 : myMakeEdge(P,P1,P2)
376 {
377   if ( myMakeEdge.IsDone()) {
378     Done();
379     myShape = myMakeEdge.Shape();
380   }
381 }
382
383
384 //=======================================================================
385 //function : BRepBuilderAPI_MakeEdge
386 //purpose  : 
387 //=======================================================================
388
389 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const gp_Parab& P,
390                                    const TopoDS_Vertex& V1,
391                                    const TopoDS_Vertex& V2)
392 : myMakeEdge(P,V1,V2)
393 {
394   if ( myMakeEdge.IsDone()) {
395     Done();
396     myShape = myMakeEdge.Shape();
397   }
398 }
399
400
401 //=======================================================================
402 //function : BRepBuilderAPI_MakeEdge
403 //purpose  : 
404 //=======================================================================
405
406 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom_Curve)& L)
407 : myMakeEdge(L)
408 {
409   if ( myMakeEdge.IsDone()) {
410     Done();
411     myShape = myMakeEdge.Shape();
412   }
413 }
414
415
416 //=======================================================================
417 //function : BRepBuilderAPI_MakeEdge
418 //purpose  : 
419 //=======================================================================
420
421 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom_Curve)& L,
422                                    const Standard_Real p1,
423                                    const Standard_Real p2)
424 : myMakeEdge(L,p1,p2)
425 {
426   if ( myMakeEdge.IsDone()) {
427     Done();
428     myShape = myMakeEdge.Shape();
429   }
430 }
431
432
433 //=======================================================================
434 //function : BRepBuilderAPI_MakeEdge
435 //purpose  : 
436 //=======================================================================
437
438 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom_Curve)& L,
439                                    const gp_Pnt& P1,
440                                    const gp_Pnt& P2)
441 : myMakeEdge(L,P1,P2)
442 {
443   if ( myMakeEdge.IsDone()) {
444     Done();
445     myShape = myMakeEdge.Shape();
446   }
447 }
448
449 //=======================================================================
450 //function : BRepBuilderAPI_MakeEdge
451 //purpose  : 
452 //=======================================================================
453
454 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom_Curve)& L,
455                                    const TopoDS_Vertex& V1,
456                                    const TopoDS_Vertex& V2)
457 : myMakeEdge(L,V1,V2)
458 {
459   if ( myMakeEdge.IsDone()) {
460     Done();
461     myShape = myMakeEdge.Shape();
462   }
463 }
464
465
466 //=======================================================================
467 //function : BRepBuilderAPI_MakeEdge
468 //purpose  : 
469 //=======================================================================
470
471 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom_Curve)& L,
472                                    const gp_Pnt& P1,
473                                    const gp_Pnt& P2,
474                                    const Standard_Real p1,
475                                    const Standard_Real p2)
476 : myMakeEdge(L,P1,P2,p1,p2)
477 {
478   if ( myMakeEdge.IsDone()) {
479     Done();
480     myShape = myMakeEdge.Shape();
481   }
482 }
483
484
485 //=======================================================================
486 //function : BRepBuilderAPI_MakeEdge
487 //purpose  : 
488 //=======================================================================
489
490 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom_Curve)& L,
491                                    const TopoDS_Vertex& V1,
492                                    const TopoDS_Vertex& V2,
493                                    const Standard_Real p1,
494                                    const Standard_Real p2)
495 : myMakeEdge(L,V1,V2,p1,p2)
496 {
497   if ( myMakeEdge.IsDone()) {
498     Done();
499     myShape = myMakeEdge.Shape();
500   }
501 }
502
503
504 //=======================================================================
505 //function : BRepBuilderAPI_MakeEdge
506 //purpose  : 
507 //=======================================================================
508
509 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom2d_Curve)& L,
510                                    const Handle(Geom_Surface)& S)
511 : myMakeEdge(L,S)
512 {
513   if ( myMakeEdge.IsDone()) {
514     Done();
515     myShape = myMakeEdge.Shape();
516   }
517 }
518
519
520 //=======================================================================
521 //function : BRepBuilderAPI_MakeEdge
522 //purpose  : 
523 //=======================================================================
524
525 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom2d_Curve)& L,
526                                    const Handle(Geom_Surface)& S,
527                                    const Standard_Real p1,
528                                    const Standard_Real p2)
529 : myMakeEdge(L,S,p1,p2)
530 {
531   if ( myMakeEdge.IsDone()) {
532     Done();
533     myShape = myMakeEdge.Shape();
534   }
535 }
536
537
538 //=======================================================================
539 //function : BRepBuilderAPI_MakeEdge
540 //purpose  : 
541 //=======================================================================
542
543 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom2d_Curve)& L,
544                                    const Handle(Geom_Surface)& S,
545                                    const gp_Pnt& P1,
546                                    const gp_Pnt& P2)
547 : myMakeEdge(L,S,P1,P2)
548 {
549   if ( myMakeEdge.IsDone()) {
550     Done();
551     myShape = myMakeEdge.Shape();
552   }
553 }
554
555 //=======================================================================
556 //function : BRepBuilderAPI_MakeEdge
557 //purpose  : 
558 //=======================================================================
559
560 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom2d_Curve)& L,
561                                    const Handle(Geom_Surface)& S,
562                                    const TopoDS_Vertex& V1,
563                                    const TopoDS_Vertex& V2)
564 : myMakeEdge(L,S,V1,V2)
565 {
566   if ( myMakeEdge.IsDone()) {
567     Done();
568     myShape = myMakeEdge.Shape();
569   }
570 }
571
572
573 //=======================================================================
574 //function : BRepBuilderAPI_MakeEdge
575 //purpose  : 
576 //=======================================================================
577
578 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom2d_Curve)& L,
579                                    const Handle(Geom_Surface)& S,
580                                    const gp_Pnt& P1,
581                                    const gp_Pnt& P2,
582                                    const Standard_Real p1,
583                                    const Standard_Real p2)
584 : myMakeEdge(L,S,P1,P2,p1,p2)
585 {
586   if ( myMakeEdge.IsDone()) {
587     Done();
588     myShape = myMakeEdge.Shape();
589   }
590 }
591
592
593 //=======================================================================
594 //function : BRepBuilderAPI_MakeEdge
595 //purpose  : 
596 //=======================================================================
597
598 BRepBuilderAPI_MakeEdge::BRepBuilderAPI_MakeEdge(const Handle(Geom2d_Curve)& L,
599                                    const Handle(Geom_Surface)& S,
600                                    const TopoDS_Vertex& V1,
601                                    const TopoDS_Vertex& V2,
602                                    const Standard_Real p1,
603                                    const Standard_Real p2)
604 : myMakeEdge(L,S,V1,V2,p1,p2)
605 {
606   if ( myMakeEdge.IsDone()) {
607     Done();
608     myShape = myMakeEdge.Shape();
609   }
610 }
611
612
613 //=======================================================================
614 //function : Init
615 //purpose  : 
616 //=======================================================================
617
618 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom_Curve)& C)
619 {
620   myMakeEdge.Init(C);
621   if ( myMakeEdge.IsDone()) {
622     Done();
623     myShape = myMakeEdge.Shape();
624   }
625 }
626
627
628 //=======================================================================
629 //function : Init
630 //purpose  : 
631 //=======================================================================
632
633 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom_Curve)& C,
634                              const Standard_Real p1,
635                              const Standard_Real p2)
636 {
637   myMakeEdge.Init(C,p1,p2);
638   if ( myMakeEdge.IsDone()) {
639     Done();
640     myShape = myMakeEdge.Shape();
641   }
642 }
643
644
645 //=======================================================================
646 //function : Init
647 //purpose  : 
648 //=======================================================================
649
650 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom_Curve)& C,
651                              const gp_Pnt& P1,
652                              const gp_Pnt& P2)
653 {
654   myMakeEdge.Init(C,P1,P2);
655   if ( myMakeEdge.IsDone()) {
656     Done();
657     myShape = myMakeEdge.Shape();
658   }
659 }
660
661
662 //=======================================================================
663 //function : Init
664 //purpose  : 
665 //=======================================================================
666
667 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom_Curve)& C,
668                              const TopoDS_Vertex& V1,
669                              const TopoDS_Vertex& V2)
670 {
671   myMakeEdge.Init(C,V1,V2);
672   if ( myMakeEdge.IsDone()) {
673     Done();
674     myShape = myMakeEdge.Shape();
675   }
676 }
677
678
679 //=======================================================================
680 //function : Init
681 //purpose  : 
682 //=======================================================================
683
684 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom_Curve)& C,
685                              const gp_Pnt& P1,
686                              const gp_Pnt& P2,
687                              const Standard_Real p1,
688                              const Standard_Real p2)
689 {
690   myMakeEdge.Init(C,P1,P2,p1,p2);
691   if ( myMakeEdge.IsDone()) {
692     Done();
693     myShape = myMakeEdge.Shape();
694   }
695 }
696
697
698 //=======================================================================
699 //function : Init
700 //purpose  : 
701 //=======================================================================
702
703 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom_Curve)& CC,
704                              const TopoDS_Vertex& VV1,
705                              const TopoDS_Vertex& VV2,
706                              const Standard_Real pp1,
707                              const Standard_Real pp2)
708 {
709   myMakeEdge.Init(CC,VV1,VV2,pp1,pp2);
710   if ( myMakeEdge.IsDone()) {
711     Done();
712     myShape = myMakeEdge.Shape();
713   }
714 }
715
716 //=======================================================================
717 //function : Init
718 //purpose  : 
719 //=======================================================================
720
721 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom2d_Curve)& C,
722                              const Handle(Geom_Surface)& S)
723 {
724   myMakeEdge.Init(C,S);
725   if ( myMakeEdge.IsDone()) {
726     Done();
727     myShape = myMakeEdge.Shape();
728   }
729 }
730
731
732 //=======================================================================
733 //function : Init
734 //purpose  : 
735 //=======================================================================
736
737 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom2d_Curve)& C,
738                              const Handle(Geom_Surface)& S,
739                              const Standard_Real p1,
740                              const Standard_Real p2)
741 {
742   myMakeEdge.Init(C,S,p1,p2);
743   if ( myMakeEdge.IsDone()) {
744     Done();
745     myShape = myMakeEdge.Shape();
746   }
747 }
748
749
750 //=======================================================================
751 //function : Init
752 //purpose  : 
753 //=======================================================================
754
755 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom2d_Curve)& C,
756                              const Handle(Geom_Surface)& S,
757                              const gp_Pnt& P1,
758                              const gp_Pnt& P2)
759 {
760   myMakeEdge.Init(C,S,P1,P2);
761   if ( myMakeEdge.IsDone()) {
762     Done();
763     myShape = myMakeEdge.Shape();
764   }
765 }
766
767
768 //=======================================================================
769 //function : Init
770 //purpose  : 
771 //=======================================================================
772
773 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom2d_Curve)& C,
774                              const Handle(Geom_Surface)& S,
775                              const TopoDS_Vertex& V1,
776                              const TopoDS_Vertex& V2)
777 {
778   myMakeEdge.Init(C,S,V1,V2);
779   if ( myMakeEdge.IsDone()) {
780     Done();
781     myShape = myMakeEdge.Shape();
782   }
783 }
784
785
786 //=======================================================================
787 //function : Init
788 //purpose  : 
789 //=======================================================================
790
791 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom2d_Curve)& C,
792                              const Handle(Geom_Surface)& S,
793                              const gp_Pnt& P1,
794                              const gp_Pnt& P2,
795                              const Standard_Real p1,
796                              const Standard_Real p2)
797 {
798   myMakeEdge.Init(C,S,P1,P2,p1,p2);
799   if ( myMakeEdge.IsDone()) {
800     Done();
801     myShape = myMakeEdge.Shape();
802   }
803 }
804
805
806 //=======================================================================
807 //function : Init
808 //purpose  : 
809 //=======================================================================
810
811 void  BRepBuilderAPI_MakeEdge::Init(const Handle(Geom2d_Curve)& CC,
812                              const Handle(Geom_Surface)& S,
813                              const TopoDS_Vertex& VV1,
814                              const TopoDS_Vertex& VV2,
815                              const Standard_Real pp1,
816                              const Standard_Real pp2)
817 {
818   myMakeEdge.Init(CC,S,VV1,VV2,pp1,pp2);
819   if ( myMakeEdge.IsDone()) {
820     Done();
821     myShape = myMakeEdge.Shape();
822   }
823 }
824
825
826 //=======================================================================
827 //function : IsDone
828 //purpose  : 
829 //=======================================================================
830
831 Standard_Boolean BRepBuilderAPI_MakeEdge::IsDone() const
832 {
833   return myMakeEdge.IsDone();
834 }
835
836
837 //=======================================================================
838 //function : Error
839 //purpose  : 
840 //=======================================================================
841
842 BRepBuilderAPI_EdgeError BRepBuilderAPI_MakeEdge::Error() const
843 {
844   switch ( myMakeEdge.Error()) {
845
846   case BRepLib_EdgeDone:
847     return BRepBuilderAPI_EdgeDone;
848
849   case BRepLib_PointProjectionFailed:
850     return BRepBuilderAPI_PointProjectionFailed;
851
852   case BRepLib_ParameterOutOfRange:
853     return BRepBuilderAPI_ParameterOutOfRange;
854
855   case BRepLib_DifferentPointsOnClosedCurve:
856     return BRepBuilderAPI_DifferentPointsOnClosedCurve;
857
858   case BRepLib_PointWithInfiniteParameter:
859     return BRepBuilderAPI_PointWithInfiniteParameter;
860
861   case BRepLib_DifferentsPointAndParameter:
862     return BRepBuilderAPI_DifferentsPointAndParameter;
863
864   case BRepLib_LineThroughIdenticPoints:
865     return BRepBuilderAPI_LineThroughIdenticPoints;
866
867   }
868
869   // portage WNT
870   return BRepBuilderAPI_EdgeDone;
871 }
872
873 //=======================================================================
874 //function : Edge
875 //purpose  : 
876 //=======================================================================
877
878 const TopoDS_Edge&  BRepBuilderAPI_MakeEdge::Edge()const 
879 {
880   return myMakeEdge.Edge();
881 }
882
883
884 //=======================================================================
885 //function : Vertex1
886 //purpose  : 
887 //=======================================================================
888
889 const TopoDS_Vertex&  BRepBuilderAPI_MakeEdge::Vertex1()const 
890 {
891   return myMakeEdge.Vertex1();
892 }
893
894
895 //=======================================================================
896 //function : Vertex2
897 //purpose  : 
898 //=======================================================================
899
900 const TopoDS_Vertex&  BRepBuilderAPI_MakeEdge::Vertex2()const 
901 {
902   return myMakeEdge.Vertex2();
903 }
904
905
906
907 //=======================================================================
908 //function : operator
909 //purpose  : 
910 //=======================================================================
911
912 BRepBuilderAPI_MakeEdge::operator TopoDS_Edge() const
913 {
914   return Edge();
915 }