0024157: Parallelization of assembly part of BO
[occt.git] / src / BRepBuilderAPI / BRepBuilderAPI_MakePolygon.cdl
CommitLineData
b311480e 1-- Created on: 1993-07-29
2-- Created by: Remi LEQUETTE
3-- Copyright (c) 1993-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21
22
23class MakePolygon from BRepBuilderAPI inherits MakeShape from BRepBuilderAPI
24
25 ---Purpose: Describes functions to build polygonal wires. A
26 -- polygonal wire can be built from any number of points
27 -- or vertices, and consists of a sequence of connected
28 -- rectilinear edges.
29 -- When a point or vertex is added to the polygon if
30 -- it is identic to the previous point no edge is
31 -- built. The method added can be used to test it.
32 -- Construction of a Polygonal Wire
33 -- You can construct:
34 -- - a complete polygonal wire by defining all its points
35 -- or vertices (limited to four), or
36 -- - an empty polygonal wire and add its points or
37 -- vertices in sequence (unlimited number).
38 -- A MakePolygon object provides a framework for:
39 -- - initializing the construction of a polygonal wire,
40 -- - adding points or vertices to the polygonal wire under construction, and
41 -- - consulting the result.
42
43uses
44 Wire from TopoDS,
45 Edge from TopoDS,
46 Vertex from TopoDS,
47 Pnt from gp,
48 MakePolygon from BRepLib
49
50raises
51 NotDone from StdFail
52
53is
54 Create
55 returns MakePolygon from BRepBuilderAPI;
56 ---Purpose: Initializes an empty polygonal wire, to which points or
57 -- vertices are added using the Add function.
58 -- As soon as the polygonal wire under construction
59 -- contains vertices, it can be consulted using the Wire function.
60
61 Create(P1, P2 : Pnt from gp)
62 ---Level: Public
63 returns MakePolygon from BRepBuilderAPI;
64
65 Create(P1, P2, P3 : Pnt from gp;
66 Close : Boolean = Standard_False)
67 ---Level: Public
68 returns MakePolygon from BRepBuilderAPI;
69
70 Create(P1, P2, P3, P4 : Pnt from gp;
71 Close : Boolean = Standard_False)
72 ---Level: Public
73 returns MakePolygon from BRepBuilderAPI;
74 ---Purpose: Constructs a polygonal wire from 2, 3 or 4 points. Vertices are
75 -- automatically created on the given points. The polygonal wire is
76 -- closed if Close is true; otherwise it is open. Further vertices can
77 -- be added using the Add function. The polygonal wire under
78 -- construction can be consulted at any time by using the Wire function.
79 -- Example
80 -- //an open polygon from four points
81 -- TopoDS_Wire W = BRepBuilderAPI_MakePolygon(P1,P2,P3,P4);
82 -- Warning: The process is equivalent to:
83 -- - initializing an empty polygonal wire,
84 -- - and adding the given points in sequence.
85 -- Consequently, be careful when using this function: if the
86 -- sequence of points p1 - p2 - p1 is found among the arguments of the
87 -- constructor, you will create a polygonal wire with two
88 -- consecutive coincident edges.
89
90 Create(V1, V2 : Vertex from TopoDS)
91 ---Level: Public
92 returns MakePolygon from BRepBuilderAPI;
93
94 Create(V1, V2, V3 : Vertex from TopoDS;
95 Close : Boolean = Standard_False)
96 ---Level: Public
97 returns MakePolygon from BRepBuilderAPI;
98
99 Create(V1, V2, V3, V4 : Vertex from TopoDS;
100 Close : Boolean = Standard_False)
101 ---Level: Public
102 returns MakePolygon from BRepBuilderAPI;
103 ---Purpose: Constructs a polygonal wire from
104 -- 2, 3 or 4 vertices. The polygonal wire is closed if Close is true;
105 -- otherwise it is open (default value). Further vertices can be
106 -- added using the Add function. The polygonal wire under
107 -- construction can be consulted at any time by using the Wire function.
108 -- Example
109 -- //a closed triangle from three vertices
110 -- TopoDS_Wire W = BRepBuilderAPI_MakePolygon(V1,V2,V3,Standard_True);
111 -- Warning
112 -- The process is equivalent to:
113 -- - initializing an empty polygonal wire,
114 -- - then adding the given points in sequence.
115 -- So be careful, as when using this function, you could create a
116 -- polygonal wire with two consecutive coincident edges if
117 -- the sequence of vertices v1 - v2 - v1 is found among the
118 -- constructor's arguments.
119
120 Add(me : in out; P : Pnt from gp)
121 ---Level: Public
122 is static;
123
124 Add(me : in out; V : Vertex from TopoDS)
125 ---Level: Public
126 is static;
127 --- Purpose:
128 -- Adds the point P or the vertex V at the end of the
129 -- polygonal wire under construction. A vertex is
130 -- automatically created on the point P.
131 -- Warning
132 -- - When P or V is coincident to the previous vertex,
133 -- no edge is built. The method Added can be used to
134 -- test for this. Neither P nor V is checked to verify
135 -- that it is coincident with another vertex than the last
136 -- one, of the polygonal wire under construction. It is
137 -- also possible to add vertices on a closed polygon
138 -- (built for example by using a constructor which
139 -- declares the polygon closed, or after the use of the Close function).
140 -- Consequently, be careful using this function: you might create:
141 -- - a polygonal wire with two consecutive coincident edges, or
142 -- - a non manifold polygonal wire.
143 -- - P or V is not checked to verify if it is
144 -- coincident with another vertex but the last one, of
145 -- the polygonal wire under construction. It is also
146 -- possible to add vertices on a closed polygon (built
147 -- for example by using a constructor which declares
148 -- the polygon closed, or after the use of the Close function).
149 -- Consequently, be careful when using this function: you might create:
150 -- - a polygonal wire with two consecutive coincident edges, or
151 -- - a non-manifold polygonal wire.
152
153 Added(me) returns Boolean
154 ---Purpose: Returns true if the last vertex added to the constructed
155 -- polygonal wire is not coincident with the previous one.
156 is static;
157
158 Close(me : in out)
159 ---Purpose: Closes the polygonal wire under construction. Note - this
160 -- is equivalent to adding the first vertex to the polygonal
161 -- wire under construction.
162 is static;
163
164 FirstVertex(me) returns Vertex from TopoDS
165 ---C++: return const &
166 ---Level: Public
167 is static;
168
169 LastVertex(me) returns Vertex from TopoDS
170 ---C++: return const &
171 ---Level: Public
172 is static;
173 ---Purpose: Returns the first or the last vertex of the polygonal wire under construction.
174 -- If the constructed polygonal wire is closed, the first and the last vertices are identical.
175
176 IsDone(me) returns Boolean
177 ---Level: Public
178 is redefined;
179 ---Purpose:
180 -- Returns true if this algorithm contains a valid polygonal
181 -- wire (i.e. if there is at least one edge).
182 -- IsDone returns false if fewer than two vertices have
183 -- been chained together by this construction algorithm.
184
185 Edge(me) returns Edge from TopoDS
186 ---Purpose: Returns the edge built between the last two points or
187 -- vertices added to the constructed polygonal wire under construction.
188 -- Warning
189 -- If there is only one vertex in the polygonal wire, the result is a null edge.
190 ---C++: return const &
191 ---C++: alias "Standard_EXPORT operator TopoDS_Edge() const;"
192 raises
193 NotDone from StdFail
194 is static;
195
196 Wire(me) returns Wire from TopoDS
197 ---Purpose:
198 -- Returns the constructed polygonal wire, or the already
199 -- built part of the polygonal wire under construction.
200 -- Exceptions
201 -- StdFail_NotDone if the wire is not built, i.e. if fewer than
202 -- two vertices have been chained together by this construction algorithm.
203 ---C++: return const &
204 ---C++: alias "Standard_EXPORT operator TopoDS_Wire() const;"
205 raises
206 NotDone from StdFail
207 is static;
208
209fields
210
211 myMakePolygon : MakePolygon from BRepLib;
212
213end MakePolygon;