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