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.
17 #include <BRepBuilderAPI_MakePolygon.ixx>
19 //=======================================================================
20 //function : BRepBuilderAPI_MakePolygon
22 //=======================================================================
24 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon()
29 //=======================================================================
30 //function : BRepBuilderAPI_MakePolygon
32 //=======================================================================
34 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const gp_Pnt& P1, const gp_Pnt& P2)
35 : myMakePolygon(P1,P2)
37 if (myMakePolygon.IsDone()) {
39 myShape = myMakePolygon.Shape();
44 //=======================================================================
45 //function : BRepBuilderAPI_MakePolygon
47 //=======================================================================
49 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const gp_Pnt& P1,
52 const Standard_Boolean Cl)
53 : myMakePolygon(P1,P2,P3,Cl)
55 if (myMakePolygon.IsDone()) {
57 myShape = myMakePolygon.Shape();
62 //=======================================================================
63 //function : BRepBuilderAPI_MakePolygon
65 //=======================================================================
67 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const gp_Pnt& P1,
71 const Standard_Boolean Cl)
72 : myMakePolygon(P1,P2,P3,P4,Cl)
74 if (myMakePolygon.IsDone()) {
76 myShape = myMakePolygon.Shape();
81 //=======================================================================
82 //function : BRepBuilderAPI_MakePolygon
84 //=======================================================================
86 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const TopoDS_Vertex& V1,
87 const TopoDS_Vertex& V2)
88 : myMakePolygon(V1,V2)
90 if (myMakePolygon.IsDone()) {
92 myShape = myMakePolygon.Shape();
97 //=======================================================================
98 //function : BRepBuilderAPI_MakePolygon
100 //=======================================================================
102 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const TopoDS_Vertex& V1,
103 const TopoDS_Vertex& V2,
104 const TopoDS_Vertex& V3,
105 const Standard_Boolean Cl)
106 : myMakePolygon(V1,V2,V3,Cl)
108 if (myMakePolygon.IsDone()) {
110 myShape = myMakePolygon.Shape();
115 //=======================================================================
116 //function : BRepBuilderAPI_MakePolygon
118 //=======================================================================
120 BRepBuilderAPI_MakePolygon::BRepBuilderAPI_MakePolygon(const TopoDS_Vertex& V1,
121 const TopoDS_Vertex& V2,
122 const TopoDS_Vertex& V3,
123 const TopoDS_Vertex& V4,
124 const Standard_Boolean Cl)
125 : myMakePolygon(V1,V2,V3,V4,Cl)
127 if (myMakePolygon.IsDone()) {
129 myShape = myMakePolygon.Shape();
134 //=======================================================================
137 //=======================================================================
139 void BRepBuilderAPI_MakePolygon::Add(const gp_Pnt& P)
141 myMakePolygon.Add(P);
142 if (myMakePolygon.IsDone()) {
144 if ( !LastVertex().IsNull())
145 myShape = myMakePolygon.Shape();
150 //=======================================================================
153 //=======================================================================
155 void BRepBuilderAPI_MakePolygon::Add(const TopoDS_Vertex& V)
157 myMakePolygon.Add(V);
158 if (myMakePolygon.IsDone()) {
160 myShape = myMakePolygon.Shape();
164 //=======================================================================
167 //=======================================================================
169 Standard_Boolean BRepBuilderAPI_MakePolygon::Added()const
171 return myMakePolygon.Added();
175 //=======================================================================
178 //=======================================================================
180 void BRepBuilderAPI_MakePolygon::Close()
182 myMakePolygon.Close();
183 myShape = myMakePolygon.Shape();
187 //=======================================================================
188 //function : FirstVertex
190 //=======================================================================
192 const TopoDS_Vertex& BRepBuilderAPI_MakePolygon::FirstVertex()const
194 return myMakePolygon.FirstVertex();
198 //=======================================================================
199 //function : LastVertex
201 //=======================================================================
203 const TopoDS_Vertex& BRepBuilderAPI_MakePolygon::LastVertex()const
205 return myMakePolygon.LastVertex();
208 //=======================================================================
211 //=======================================================================
213 Standard_Boolean BRepBuilderAPI_MakePolygon::IsDone() const
215 return myMakePolygon.IsDone();
219 //=======================================================================
222 //=======================================================================
224 const TopoDS_Edge& BRepBuilderAPI_MakePolygon::Edge()const
226 return myMakePolygon.Edge();
229 //=======================================================================
232 //=======================================================================
234 const TopoDS_Wire& BRepBuilderAPI_MakePolygon::Wire()const
236 return myMakePolygon.Wire();
239 //=======================================================================
240 //function : operator
242 //=======================================================================
244 BRepBuilderAPI_MakePolygon::operator TopoDS_Edge() const
249 //=======================================================================
250 //function : operator
252 //=======================================================================
254 BRepBuilderAPI_MakePolygon::operator TopoDS_Wire() const