1 // Created on: 1993-07-29
2 // Created by: Remi LEQUETTE
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
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.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
18 #include <BRepBuilderAPI_MakePolygon.hxx>
20 #include <TopoDS_Edge.hxx>
21 #include <TopoDS_Vertex.hxx>
22 #include <TopoDS_Wire.hxx>
24 //=======================================================================
25 //function : BRepBuilderAPI_MakePolygon
27 //=======================================================================
28 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon()
33 //=======================================================================
34 //function : BRepBuilderAPI_MakePolygon
36 //=======================================================================
38 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const gp_Pnt& P1, const gp_Pnt& P2)
39 : myMakePolygon(P1,P2)
41 if (myMakePolygon.IsDone()) {
43 myShape = myMakePolygon.Shape();
48 //=======================================================================
49 //function : BRepBuilderAPI_MakePolygon
51 //=======================================================================
53 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const gp_Pnt& P1,
56 const Standard_Boolean Cl)
57 : myMakePolygon(P1,P2,P3,Cl)
59 if (myMakePolygon.IsDone()) {
61 myShape = myMakePolygon.Shape();
66 //=======================================================================
67 //function : BRepBuilderAPI_MakePolygon
69 //=======================================================================
71 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const gp_Pnt& P1,
75 const Standard_Boolean Cl)
76 : myMakePolygon(P1,P2,P3,P4,Cl)
78 if (myMakePolygon.IsDone()) {
80 myShape = myMakePolygon.Shape();
85 //=======================================================================
86 //function : BRepBuilderAPI_MakePolygon
88 //=======================================================================
90 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const TopoDS_Vertex& V1,
91 const TopoDS_Vertex& V2)
92 : myMakePolygon(V1,V2)
94 if (myMakePolygon.IsDone()) {
96 myShape = myMakePolygon.Shape();
101 //=======================================================================
102 //function : BRepBuilderAPI_MakePolygon
104 //=======================================================================
106 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const TopoDS_Vertex& V1,
107 const TopoDS_Vertex& V2,
108 const TopoDS_Vertex& V3,
109 const Standard_Boolean Cl)
110 : myMakePolygon(V1,V2,V3,Cl)
112 if (myMakePolygon.IsDone()) {
114 myShape = myMakePolygon.Shape();
119 //=======================================================================
120 //function : BRepBuilderAPI_MakePolygon
122 //=======================================================================
124 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const TopoDS_Vertex& V1,
125 const TopoDS_Vertex& V2,
126 const TopoDS_Vertex& V3,
127 const TopoDS_Vertex& V4,
128 const Standard_Boolean Cl)
129 : myMakePolygon(V1,V2,V3,V4,Cl)
131 if (myMakePolygon.IsDone()) {
133 myShape = myMakePolygon.Shape();
138 //=======================================================================
141 //=======================================================================
143 void BRepBuilderAPI_MakePolygon::Add(const gp_Pnt& P)
145 myMakePolygon.Add(P);
146 if (myMakePolygon.IsDone()) {
148 if ( !LastVertex().IsNull())
149 myShape = myMakePolygon.Shape();
154 //=======================================================================
157 //=======================================================================
159 void BRepBuilderAPI_MakePolygon::Add(const TopoDS_Vertex& V)
161 myMakePolygon.Add(V);
162 if (myMakePolygon.IsDone()) {
164 myShape = myMakePolygon.Shape();
168 //=======================================================================
171 //=======================================================================
173 Standard_Boolean BRepBuilderAPI_MakePolygon::Added()const
175 return myMakePolygon.Added();
179 //=======================================================================
182 //=======================================================================
184 void BRepBuilderAPI_MakePolygon::Close()
186 myMakePolygon.Close();
187 myShape = myMakePolygon.Shape();
191 //=======================================================================
192 //function : FirstVertex
194 //=======================================================================
196 const TopoDS_Vertex& BRepBuilderAPI_MakePolygon::FirstVertex()const
198 return myMakePolygon.FirstVertex();
202 //=======================================================================
203 //function : LastVertex
205 //=======================================================================
207 const TopoDS_Vertex& BRepBuilderAPI_MakePolygon::LastVertex()const
209 return myMakePolygon.LastVertex();
212 //=======================================================================
215 //=======================================================================
217 Standard_Boolean BRepBuilderAPI_MakePolygon::IsDone() const
219 return myMakePolygon.IsDone();
223 //=======================================================================
226 //=======================================================================
228 const TopoDS_Edge& BRepBuilderAPI_MakePolygon::Edge()const
230 return myMakePolygon.Edge();
233 //=======================================================================
236 //=======================================================================
238 const TopoDS_Wire& BRepBuilderAPI_MakePolygon::Wire()
240 return myMakePolygon.Wire();
243 //=======================================================================
244 //function : operator
246 //=======================================================================
248 BRepBuilderAPI_MakePolygon::operator TopoDS_Edge() const
253 //=======================================================================
254 //function : operator
256 //=======================================================================
258 BRepBuilderAPI_MakePolygon::operator TopoDS_Wire()