0024428: Implementation of LGPL license
[occt.git] / src / AppDef / AppDef_MultiPointConstraint.cdl
CommitLineData
b311480e 1-- Created on: 1991-12-02
2-- Created by: Laurent PAINNOT
3-- Copyright (c) 1991-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
973c2be1 8-- This library is free software; you can redistribute it and / or modify it
9-- under the terms of the GNU Lesser General Public 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class MultiPointConstraint from AppDef
18
19 inherits MultiPoint from AppParCurves
20
21 ---Purpose: Describes a MultiPointConstraint used in a
22 -- Multiline. MultiPointConstraints are composed
23 -- of several two or three-dimensional points.
24 -- The purpose is to define the corresponding
25 -- points that share a common constraint in order
26 -- to compute the approximation of several lines in parallel.
27 -- Notes:
28 -- - The order of points of a MultiPointConstraints is very important.
29 -- Users must give 3D points first, and then 2D points.
30 -- - The constraints for the points included in a
31 -- MultiPointConstraint are always identical for
32 -- all points, including the parameter.
33 -- - If a MultiPointConstraint is a "tangency"
34 -- point, the point is also a "passing" point.
35
36
37
38uses Pnt from gp,
39 Pnt2d from gp,
40 Vec from gp,
41 Vec2d from gp,
42 Array1OfPnt from TColgp,
43 Array1OfPnt2d from TColgp,
44 Array1OfVec from TColgp,
45 Array1OfVec2d from TColgp,
46 Constraint from AppParCurves,
47 OStream from Standard,
48 TShared from MMgt
49
50raises OutOfRange from Standard,
51 ConstructionError from Standard,
52 DimensionError from Standard
53
54
55is
56
57 Create
58 ---Purpose: creates an undefined MultiPointConstraint.
59
60 returns MultiPointConstraint from AppDef;
61
62
63 Create(NbPoints, NbPoints2d: Integer)
64 ---Purpose: constructs a set of Points used to approximate a Multiline.
65 -- These Points can be of 2 or 3 dimensions.
66 -- Points will be initialized with SetPoint and SetPoint2d.
67
68 returns MultiPointConstraint from AppDef;
69
70
71
72 Create(tabP: Array1OfPnt)
73 ---Purpose: creates a MultiPoint only composed of 3D points.
74
75 returns MultiPointConstraint from AppDef;
76
77
78 Create(tabP: Array1OfPnt2d)
79 ---Purpose: creates a MultiPoint only composed of 2D points.
80
81 returns MultiPointConstraint from AppDef;
82
83
84 Create(tabP: Array1OfPnt; tabP2d: Array1OfPnt2d)
85 ---Purpose: constructs a set of Points used to approximate a Multiline.
86 -- These Points can be of 2 or 3 dimensions.
87 -- Points will be initialized with SetPoint and SetPoint2d.
88
89 returns MultiPointConstraint from AppDef;
90
91
92
93 Create(tabP: Array1OfPnt; tabP2d: Array1OfPnt2d;
94 tabVec: Array1OfVec; tabVec2d: Array1OfVec2d;
95 tabCur: Array1OfVec; tabCur2d: Array1OfVec2d)
96 ---Purpose: creates a MultiPointConstraint with a constraint of
97 -- Curvature.
98 -- An exception is raised if
99 -- (length of <tabP> + length of <tabP2d> ) is different
100 -- from (length of <tabVec> + length of <tabVec2d> ) or
101 -- from (length of <tabCur> + length of <tabCur2d> )
102
103 returns MultiPointConstraint from AppDef
104 raises ConstructionError from Standard;
105
106
107
108 Create(tabP: Array1OfPnt; tabP2d: Array1OfPnt2d;
109 tabVec: Array1OfVec; tabVec2d: Array1OfVec2d)
110 ---Purpose: creates a MultiPointConstraint with a constraint of
111 -- Tangency.
112 -- An exception is raised if
113 -- (length of <tabP> + length of <tabP2d> ) is different
114 -- from (length of <tabVec> + length of <tabVec2d> )
115
116 returns MultiPointConstraint from AppDef
117 raises ConstructionError from Standard;
118
119
120
121
122 Create(tabP: Array1OfPnt; tabVec: Array1OfVec; tabCur: Array1OfVec)
123 ---Purpose: creates a MultiPointConstraint only composed of 3d points
124 -- with constraints of curvature.
125 -- An exception is raised if the length of tabP is different
126 -- from the length of tabVec or from tabCur.
127
128 returns MultiPointConstraint from AppDef
129 raises ConstructionError;
130
131
132 Create(tabP: Array1OfPnt; tabVec: Array1OfVec)
133 ---Purpose: creates a MultiPointConstraint only composed of 3d points
134 -- with constraints of tangency.
135 -- An exception is raised if the length of tabP is different
136 -- from the length of tabVec.
137
138 returns MultiPointConstraint
139 raises ConstructionError;
140
141
142
143 Create(tabP2d: Array1OfPnt2d; tabVec2d: Array1OfVec2d)
144 ---Purpose: creates a MultiPointConstraint only composed of 2d points
145 -- with constraints of tangency.
146 -- An exception is raised if the length of tabP is different
147 -- from the length of tabVec2d.
148
149 returns MultiPointConstraint from AppDef
150 raises ConstructionError from Standard;
151
152
153 Create(tabP2d: Array1OfPnt2d;
154 tabVec2d: Array1OfVec2d;
155 tabCur2d: Array1OfVec2d)
156 ---Purpose: creates a MultiPointConstraint only composed of 2d points
157 -- with constraints of curvature.
158 -- An exception is raised if the length of tabP is different
159 -- from the length of tabVec2d or from tabCur2d.
160
161 returns MultiPointConstraint from AppDef
162 raises ConstructionError from Standard;
163
164
165
166
167 SetTang(me: in out; Index: Integer; Tang: Vec)
168 ---Purpose: sets the value of the tangency of the point of range
169 -- Index.
170 -- An exception is raised if Index <0 or if Index > number
171 -- of 3d points.
172 -- An exception is raised if Tang has an incorrect number of
173 -- dimensions.
174
175 raises OutOfRange from Standard,
176 DimensionError from Standard
177 is static;
178
179
180 Tang(me; Index: Integer)
181 ---Purpose: returns the tangency value of the point of range Index.
182 -- An exception is raised if Index < 0 or if Index > number
183 -- of 3d points.
184
185 returns Vec from gp
186 raises OutOfRange from Standard
187 is static;
188
189
190 SetTang2d(me: in out; Index: Integer; Tang2d: Vec2d)
191 ---Purpose: sets the value of the tangency of the point of range
192 -- Index.
193 -- An exception is raised if Index <number of 3d points or if
194 -- Index > total number of Points
195 -- An exception is raised if Tang has an incorrect number of
196 -- dimensions.
197
198 raises OutOfRange from Standard,
199 DimensionError from Standard
200 is static;
201
202
203 Tang2d(me; Index: Integer)
204 ---Purpose: returns the tangency value of the point of range Index.
205 -- An exception is raised if Index < number of 3d points or
206 -- if Index > total number of points.
207
208 returns Vec2d from gp
209 raises OutOfRange from Standard
210 is static;
211
212
213 SetCurv(me: in out; Index: Integer; Curv: Vec)
214 ---Purpose: Vec sets the value of the normal vector at the
215 -- point of index Index. The norm of the normal
216 -- vector at the point of position Index is set to the normal curvature.
217 -- An exception is raised if Index <0 or if Index > number
218 -- of 3d points.
219 -- An exception is raised if Curv has an incorrect number of
220 -- dimensions.
221
222 raises OutOfRange from Standard,
223 DimensionError from Standard
224 is static;
225
226
227 Curv(me; Index: Integer)
228 ---Purpose: returns the normal vector at the point of range Index.
229 -- An exception is raised if Index < 0 or if Index > number
230 -- of 3d points.
231
232 returns Vec from gp
233 raises OutOfRange from Standard
234 is static;
235
236
237
238 SetCurv2d(me: in out; Index: Integer; Curv2d: Vec2d)
239 ---Purpose: Vec sets the value of the normal vector at the
240 -- point of index Index. The norm of the normal
241 -- vector at the point of position Index is set to the normal curvature.
242 -- An exception is raised if Index <0 or if Index > number
243 -- of 3d points.
244 -- An exception is raised if Curv has an incorrect number of
245 -- dimensions.
246
247 raises OutOfRange from Standard,
248 DimensionError from Standard
249 is static;
250
251
252 Curv2d(me; Index: Integer)
253 ---Purpose: returns the normal vector at the point of range Index.
254 -- An exception is raised if Index < 0 or if Index > number
255 -- of 3d points.
256
257 returns Vec2d from gp
258 is static;
259
260
261 IsTangencyPoint(me)
262 ---Purpose: returns True if the MultiPoint has a tangency value.
263
264 returns Boolean
265 raises OutOfRange from Standard
266 is static;
267
268 IsCurvaturePoint(me)
269 ---Purpose: returns True if the MultiPoint has a curvature value.
270
271 returns Boolean
272 raises OutOfRange from Standard
273 is static;
274
275
276 Dump(me; o: in out OStream)
277 ---Purpose: Prints on the stream o information on the current
278 -- state of the object.
279 -- Is used to redefine the operator <<.
280
281 is redefined;
282
283
284
285fields
286
287ttabTang: TShared from MMgt;
288ttabCurv: TShared from MMgt;
289ttabTang2d: TShared from MMgt;
290ttabCurv2d: TShared from MMgt;
291
292
293end MultiPointConstraint from AppDef;