0024624: Lost word in license statement in source files
[occt.git] / src / ElCLib / ElCLib.cdl
CommitLineData
b311480e 1-- Created on: 1991-09-10
2-- Created by: Michel Chauvat
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--
d5f74e42 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
973c2be1 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
17package ElCLib
18
19 --- Purpose: Provides functions for basic geometric computations on
20 -- elementary curves such as conics and lines in 2D and 3D space.
21 -- This includes:
22 -- - calculation of a point or derived vector on a 2D or
23 -- 3D curve where:
24 -- - the curve is provided by the gp package, or
25 -- defined in reference form (as in the gp package),
26 -- and
27 -- - the point is defined by a parameter,
28 -- - evaluation of the parameter corresponding to a point
29 -- on a 2D or 3D curve from gp,
30 -- - various elementary computations which allow you to
31 -- position parameterized values within the period of a curve.
32 -- Notes:
33 -- - ElCLib stands for Elementary Curves Library.
34 -- - If the curves provided by the gp package are not
35 -- explicitly parameterized, they still have an implicit
36 -- parameterization, analogous to that which they infer
37 -- for the equivalent Geom or Geom2d curves.
38
39uses gp
40
41is
42
43 InPeriod(U, UFirst, ULast : Real) returns Real;
44
45 ---Purpose: Return a value in the range <UFirst, ULast> by
46 -- adding or removing the period <ULast - UFirst> to
47 -- <U>.
48
49 AdjustPeriodic(UFirst, ULast, Precision : Real;
50 U1, U2 : in out Real);
51
52 ---Purpose: Adjust U1 and U2 in the parametric range UFirst
53 -- Ulast of a periodic curve, where ULast -
54 -- UFirst is its period. To do this, this function:
55 -- - sets U1 in the range [ UFirst, ULast ] by
56 -- adding/removing the period to/from the value U1, then
57 -- - sets U2 in the range [ U1, U1 + period ] by
58 -- adding/removing the period to/from the value U2.
59 -- Precision is used to test the equalities.
60
61
62
63
64
65 Value (U : Real; L : Lin from gp) returns Pnt from gp;
66 --- Purpose : For elementary curves (lines, circles and conics) from
67 -- the gp package, computes the point of parameter U.
68 -- The result is either:
69 -- - a gp_Pnt point for a curve in 3D space, or
70 -- - a gp_Pnt2d point for a curve in 2D space.
71
72 Value (U : Real; C : Circ from gp) returns Pnt from gp;
73 ---C++: inline
74
75 Value (U : Real; E : Elips from gp) returns Pnt from gp;
76 ---C++: inline
77
78 Value (U : Real; H : Hypr from gp) returns Pnt from gp;
79 ---C++: inline
80
81 Value (U : Real; Prb : Parab from gp) returns Pnt from gp;
82 ---C++: inline
83
84 D1 (U : Real; L : Lin from gp; P : out Pnt from gp; V1 : out Vec from gp);
85 ---Purpose:
86 -- For elementary curves (lines, circles and conics) from the
87 -- gp package, computes:
88 -- - the point P of parameter U, and
89 -- - the first derivative vector V1 at this point.
90 -- The results P and V1 are either:
91 -- - a gp_Pnt point and a gp_Vec vector, for a curve in 3D space, or
92 -- - a gp_Pnt2d point and a gp_Vec2d vector, for a curve in 2D space.
93
94 D1 (U : Real; C : Circ from gp; P : out Pnt from gp; V1 : out Vec from gp);
95 ---C++: inline
96
97 D1 (U : Real; E : Elips from gp; P : out Pnt from gp; V1 : out Vec from gp);
98 ---C++: inline
99
100 D1 (U : Real; H : Hypr from gp; P : out Pnt from gp; V1 : out Vec from gp);
101 ---C++: inline
102
103 D1 (U : Real; Prb : Parab from gp; P : out Pnt from gp;
104 V1 : out Vec from gp);
105 ---C++: inline
106
107 D2 (U : Real; C : Circ from gp; P : out Pnt from gp;
108 V1, V2 : out Vec from gp);
109 ---Purpose: For elementary curves (circles and conics) from the gp
110 -- package, computes:
111 -- - the point P of parameter U, and
112 -- - the first and second derivative vectors V1 and V2 at this point.
113 -- The results, P, V1 and V2, are either:
114 -- - a gp_Pnt point and two gp_Vec vectors, for a curve in 3D space, or
115 -- - a gp_Pnt2d point and two gp_Vec2d vectors, for a curve in 2D space.
116
117 D2 (U : Real; E : Elips from gp; P : out Pnt from gp;
118 V1, V2 : out Vec from gp);
119 ---C++: inline
120
121 D2 (U : Real; H : Hypr from gp; P : out Pnt from gp;
122 V1, V2 : out Vec from gp);
123 ---C++: inline
124
125 D2 (U : Real; Prb : Parab from gp; P : out Pnt from gp;
126 V1, V2 : out Vec from gp);
127 ---C++: inline
128
129 D3 (U : Real; C : Circ from gp; P : out Pnt from gp;
130 V1, V2, V3 : out Vec from gp);
131 ---Purpose: For elementary curves (circles, ellipses and hyperbolae)
132 -- from the gp package, computes:
133 -- - the point P of parameter U, and
134 -- - the first, second and third derivative vectors V1, V2
135 -- and V3 at this point.
136 -- The results, P, V1, V2 and V3, are either:
137 -- - a gp_Pnt point and three gp_Vec vectors, for a curve in 3D space, or
138 -- - a gp_Pnt2d point and three gp_Vec2d vectors, for a curve in 2D space.
139
140 D3 (U : Real; E : Elips from gp; P : out Pnt from gp;
141 V1, V2, V3 : out Vec from gp);
142 ---C++: inline
143
144 D3 (U : Real; H : Hypr from gp; P : out Pnt from gp;
145 V1, V2, V3 : out Vec from gp);
146
147 DN (U : Real; L : Lin from gp; N : Integer) returns Vec from gp;
148 ---Purpose:
149 -- For elementary curves (lines, circles and conics) from
150 -- the gp package, computes the vector corresponding to
151 -- the Nth derivative at the point of parameter U. The result is either:
152 -- - a gp_Vec vector for a curve in 3D space, or
153 -- - a gp_Vec2d vector for a curve in 2D space.
154 -- In the following functions N is the order of derivation
155 -- and should be greater than 0
156
157 DN (U : Real; C : Circ from gp; N : Integer) returns Vec from gp;
158 ---C++: inline
159
160 DN (U : Real; E : Elips from gp; N : Integer) returns Vec from gp;
161 ---C++: inline
162
163 DN (U : Real; H : Hypr from gp; N : Integer) returns Vec from gp;
164 ---C++: inline
165
166 DN (U : Real; Prb : Parab from gp; N : Integer) returns Vec from gp;
167 ---C++: inline
168
169 Value (U : Real; L : Lin2d from gp) returns Pnt2d from gp;
170 ---C++: inline
171
172 Value (U : Real; C : Circ2d from gp) returns Pnt2d from gp;
173 ---C++: inline
174
175 Value (U : Real; E : Elips2d from gp) returns Pnt2d from gp;
176 ---C++: inline
177
178 Value (U : Real; H : Hypr2d from gp) returns Pnt2d from gp;
179 ---C++: inline
180
181 Value (U : Real; Prb : Parab2d from gp) returns Pnt2d from gp;
182 ---C++: inline
183
184 D1 (U : Real; L : Lin2d from gp; P : out Pnt2d from gp;
185 V1 : out Vec2d from gp);
186 ---C++: inline
187
188 D1 (U : Real; C : Circ2d from gp; P : out Pnt2d from gp;
189 V1 : out Vec2d from gp);
190 ---C++: inline
191
192 D1 (U : Real; E : Elips2d from gp; P : out Pnt2d from gp;
193 V1 : out Vec2d from gp);
194 ---C++: inline
195
196 D1 (U : Real; H : Hypr2d from gp; P : out Pnt2d from gp;
197 V1 : out Vec2d from gp);
198 ---C++: inline
199
200 D1 (U : Real; Prb : Parab2d from gp; P : out Pnt2d from gp;
201 V1 : out Vec2d from gp);
202 ---C++: inline
203
204 D2 (U : Real; C : Circ2d from gp; P : out Pnt2d from gp;
205 V1, V2 : out Vec2d from gp);
206 ---C++: inline
207
208 D2 (U : Real; E : Elips2d from gp; P : out Pnt2d from gp;
209 V1, V2 : out Vec2d from gp);
210 ---C++: inline
211
212 D2 (U : Real; H : Hypr2d from gp; P : out Pnt2d from gp;
213 V1, V2 : out Vec2d from gp);
214 ---C++: inline
215
216 D2 (U : Real; Prb : Parab2d from gp; P : out Pnt2d from gp;
217 V1, V2 : out Vec2d from gp);
218 ---C++: inline
219
220 D3 (U : Real; C : Circ2d from gp; P : out Pnt2d from gp;
221 V1, V2, V3 : out Vec2d from gp);
222 ---C++: inline
223
224 D3 (U : Real; E : Elips2d from gp; P : out Pnt2d from gp;
225 V1, V2, V3 : out Vec2d from gp);
226 ---C++: inline
227
228 D3 (U : Real; H : Hypr2d from gp; P : out Pnt2d from gp;
229 V1, V2, V3 : out Vec2d from gp);
230 ---C++: inline
231
232
233 --- Purpose :
234 -- In the following functions N is the order of derivation
235 -- and should be greater than 0
236
237 DN (U : Real; L : Lin2d from gp; N : Integer) returns Vec2d from gp;
238 ---C++: inline
239
240 DN (U : Real; C : Circ2d from gp; N : Integer) returns Vec2d from gp;
241 ---C++: inline
242
243 DN (U : Real; E : Elips2d from gp; N : Integer) returns Vec2d from gp;
244 ---C++: inline
245
246 DN (U : Real; H : Hypr2d from gp; N : Integer) returns Vec2d from gp;
247 ---C++: inline
248
249 DN (U : Real; Prb : Parab2d from gp; N : Integer) returns Vec2d from gp;
250 ---C++: inline
251
252
253
254
255
256
257
258 LineValue (U : Real; Pos : Ax1 from gp)
259 returns Pnt from gp;
260 --- Purpose : Curve evaluation
261 -- The following basis functions compute the derivatives on
262 -- elementary curves defined by their geometric characteristics.
263 -- These functions can be called without constructing a conic
264 -- from package gp. They are called by the previous functions.
265 -- Example :
266 -- A circle is defined by its position and its radius.
267
268 CircleValue (U : Real; Pos : Ax2 from gp; Radius : Real)
269 returns Pnt from gp;
270
271 EllipseValue (U : Real; Pos : Ax2 from gp; MajorRadius, MinorRadius : Real)
272 returns Pnt from gp;
273
274 HyperbolaValue (U : Real; Pos : Ax2 from gp;
275 MajorRadius, MinorRadius : Real)
276 returns Pnt from gp;
277
278 ParabolaValue (U : Real; Pos : Ax2 from gp; Focal : Real)
279 returns Pnt from gp;
280
281 LineD1 (U : Real; Pos : Ax1 from gp; P : out Pnt from gp;
282 V1 : out Vec from gp);
283
284 CircleD1 (U : Real; Pos : Ax2 from gp; Radius : Real; P : out Pnt from gp;
285 V1 : out Vec from gp);
286
287 EllipseD1 (U : Real; Pos : Ax2 from gp; MajorRadius, MinorRadius : Real;
288 P : out Pnt from gp; V1 : out Vec from gp);
289
290 HyperbolaD1 (U : Real; Pos : Ax2 from gp; MajorRadius, MinorRadius : Real;
291 P : out Pnt from gp; V1 : out Vec from gp);
292
293 ParabolaD1 (U : Real; Pos : Ax2 from gp; Focal : Real; P : out Pnt from gp;
294 V1 : out Vec from gp);
295
296 CircleD2 (U : Real; Pos : Ax2 from gp; Radius : Real;
297 P : out Pnt from gp; V1, V2 : out Vec from gp);
298
299 EllipseD2 (U : Real; Pos : Ax2 from gp; MajorRadius, MinorRadius : Real;
300 P : out Pnt from gp; V1, V2 : out Vec from gp);
301
302 HyperbolaD2 (U : Real; Pos : Ax2 from gp; MajorRadius, MinorRadius : Real;
303 P : out Pnt from gp; V1, V2 : out Vec from gp);
304
305 ParabolaD2 (U : Real; Pos : Ax2 from gp; Focal : Real;
306 P : out Pnt from gp; V1, V2 : out Vec from gp);
307
308 CircleD3 (U : Real; Pos : Ax2 from gp; Radius : Real;
309 P : out Pnt from gp; V1, V2, V3 : out Vec from gp);
310
311 EllipseD3 (U : Real; Pos : Ax2 from gp; MajorRadius, MinorRadius : Real;
312 P : out Pnt from gp; V1, V2, V3 : out Vec from gp);
313
314 HyperbolaD3 (U : Real; Pos : Ax2 from gp; MajorRadius, MinorRadius : Real;
315 P : out Pnt from gp; V1, V2, V3 : out Vec from gp);
316
317
318
319 LineDN (U : Real; Pos : Ax1 from gp; N : Integer)
320 returns Vec from gp;
321 --- Purpose :
322 -- In the following functions N is the order of derivation
323 -- and should be greater than 0
324 CircleDN (U : Real; Pos : Ax2 from gp; Radius : Real; N : Integer)
325 returns Vec from gp;
326
327 EllipseDN (U : Real; Pos : Ax2 from gp; MajorRadius, MinorRadius : Real;
328 N : Integer)
329 returns Vec from gp;
330
331 HyperbolaDN (
332 U : Real; Pos : Ax2 from gp; MajorRadius, MinorRadius : Real; N : Integer)
333 returns Vec from gp;
334
335 ParabolaDN (U : Real; Pos : Ax2 from gp; Focal : Real; N : Integer)
336 returns Vec from gp;
337
338
339
340
341
342 LineValue (U : Real; Pos : Ax2d from gp)
343 returns Pnt2d from gp;
344
345 CircleValue (U : Real; Pos : Ax22d from gp; Radius : Real)
346 returns Pnt2d from gp;
347
348 EllipseValue (U : Real; Pos : Ax22d from gp; MajorRadius, MinorRadius : Real)
349 returns Pnt2d from gp;
350
351 HyperbolaValue (U : Real; Pos : Ax22d from gp;
352 MajorRadius, MinorRadius : Real)
353 returns Pnt2d from gp;
354
355 ParabolaValue (U : Real; Pos : Ax22d from gp; Focal : Real)
356 returns Pnt2d from gp;
357
358 LineD1 (U : Real; Pos : Ax2d from gp; P : out Pnt2d from gp;
359 V1 : out Vec2d from gp);
360
361 CircleD1 (U : Real; Pos : Ax22d from gp; Radius : Real;
362 P : out Pnt2d from gp; V1 : out Vec2d from gp);
363
364 EllipseD1 (U : Real; Pos : Ax22d from gp; MajorRadius, MinorRadius : Real;
365 P : out Pnt2d from gp; V1 : out Vec2d from gp);
366
367 HyperbolaD1 (U : Real; Pos : Ax22d from gp; MajorRadius, MinorRadius : Real;
368 P : out Pnt2d from gp; V1 : out Vec2d from gp);
369
370 ParabolaD1 (U : Real; Pos : Ax22d from gp; Focal : Real;
371 P : out Pnt2d from gp; V1 : out Vec2d from gp);
372
373 CircleD2 (U : Real; Pos : Ax22d from gp; Radius : Real;
374 P : out Pnt2d from gp; V1, V2 : out Vec2d from gp);
375
376 EllipseD2 (U : Real; Pos : Ax22d from gp; MajorRadius, MinorRadius : Real;
377 P : out Pnt2d from gp; V1, V2 : out Vec2d from gp);
378
379 HyperbolaD2 (U : Real; Pos : Ax22d from gp; MajorRadius, MinorRadius : Real;
380 P : out Pnt2d from gp; V1, V2 : out Vec2d from gp);
381
382 ParabolaD2 (U : Real; Pos : Ax22d from gp; Focal : Real;
383 P : out Pnt2d from gp; V1, V2 : out Vec2d from gp);
384
385 CircleD3 (U : Real; Pos : Ax22d from gp; Radius : Real;
386 P : out Pnt2d from gp; V1, V2, V3 : out Vec2d from gp);
387
388 EllipseD3 (U : Real; Pos : Ax22d from gp; MajorRadius, MinorRadius : Real;
389 P : out Pnt2d from gp; V1, V2, V3 : out Vec2d from gp);
390
391 HyperbolaD3 (U : Real; Pos : Ax22d from gp; MajorRadius, MinorRadius : Real;
392 P : out Pnt2d from gp; V1, V2, V3 : out Vec2d from gp);
393
394 --- Purpose :
395 -- In the following functions N is the order of derivation
396 -- and should be greater than 0
397
398 LineDN (U : Real; Pos : Ax2d from gp; N : Integer)
399 returns Vec2d from gp;
400
401 CircleDN (U : Real; Pos : Ax22d from gp; Radius : Real; N : Integer)
402 returns Vec2d from gp;
403
404 EllipseDN (
405 U : Real; Pos : Ax22d from gp; MajorRadius, MinorRadius : Real;
406 N : Integer)
407 returns Vec2d from gp;
408
409 HyperbolaDN (
410 U : Real; Pos : Ax22d from gp; MajorRadius, MinorRadius : Real;
411 N : Integer)
412 returns Vec2d from gp;
413
414 ParabolaDN (U : Real; Pos : Ax22d from gp; Focal : Real; N : Integer)
415 returns Vec2d from gp;
416
417
418
419
420 --- Purpose :
421 -- The following functions compute the parametric value corresponding
422 -- to a given point on a elementary curve. The point should be on the
423 -- curve.
424
425
426 Parameter (L : Lin from gp; P : Pnt from gp) returns Real;
427 ---Purpose:
428 -- Computes the parameter value of the point P on the given curve.
429 -- Note: In its local coordinate system, the parametric
430 -- equation of the curve is given by the following:
431 -- - for the line L: P(U) = Po + U*Vo
432 -- where Po is the origin and Vo the unit vector of its positioning axis.
433 -- - for the circle C: X(U) = Radius*Cos(U), Y(U) = Radius*Sin(U)
434 -- - for the ellipse E: X(U) = MajorRadius*Cos(U). Y(U) = MinorRadius*Sin(U)
435 -- - for the hyperbola H: X(U) = MajorRadius*Ch(U), Y(U) = MinorRadius*Sh(U)
436 -- - for the parabola Prb:
437 -- X(U) = U**2 / (2*p)
438 -- Y(U) = U
439 -- where p is the distance between the focus and the directrix.
440 -- Warning
441 -- The point P must be on the curve. These functions are
442 -- not protected, however, and if point P is not on the
443 -- curve, an exception may be raised.
444
445 Parameter (L : Lin2d from gp; P : Pnt2d from gp) returns Real;
446 ---C++: inline
447
448 --- Purpose : parametrization
449 -- P (U) = L.Location() + U * L.Direction()
450
451
452
453
454 Parameter (C : Circ from gp; P : Pnt from gp) returns Real;
455 ---C++: inline
456
457 Parameter (C : Circ2d from gp; P : Pnt2d from gp) returns Real;
458 ---C++: inline
459
460 --- Purpose : parametrization
461 -- In the local coordinate system of the circle
462 -- X (U) = Radius * Cos (U)
463 -- Y (U) = Radius * Sin (U)
464
465
466
467
468 Parameter (E : Elips from gp; P : Pnt from gp) returns Real;
469 ---C++: inline
470
471 Parameter (E : Elips2d from gp; P : Pnt2d from gp) returns Real;
472 ---C++: inline
473
474 --- Purpose : parametrization
475 -- In the local coordinate system of the Ellipse
476 -- X (U) = MajorRadius * Cos (U)
477 -- Y (U) = MinorRadius * Sin (U)
478
479
480 Parameter (H : Hypr from gp; P : Pnt from gp) returns Real;
481 ---C++: inline
482
483 Parameter (H : Hypr2d from gp; P : Pnt2d from gp) returns Real;
484 ---C++: inline
485
486 --- Purpose : parametrization
487 -- In the local coordinate system of the Hyperbola
488 -- X (U) = MajorRadius * Ch (U)
489 -- Y (U) = MinorRadius * Sh (U)
490
491
492 Parameter (Prb : Parab from gp; P : Pnt from gp) returns Real;
493 ---C++: inline
494
495 Parameter (Prb : Parab2d from gp; P : Pnt2d from gp) returns Real;
496 ---C++: inline
497
498 --- Purpose : parametrization
499 -- In the local coordinate system of the parabola
500 -- Y**2 = (2*P) * X where P is the distance between the focus
501 -- and the directrix.
502
503
504 LineParameter (Pos : Ax1 from gp; P : Pnt from gp) returns Real;
505
506 LineParameter (Pos : Ax2d from gp; P : Pnt2d from gp) returns Real;
507
508 --- Purpose : parametrization
509 -- P (U) = L.Location() + U * L.Direction()
510
511
512
513 CircleParameter (Pos : Ax2 from gp; P : Pnt from gp) returns Real;
514
515 CircleParameter (Pos : Ax22d from gp; P : Pnt2d from gp) returns Real;
516 --- Purpose : Pos is the Axis of the Circle
517
518 --- Purpose : parametrization
519 -- In the local coordinate system of the circle
520 -- X (U) = Radius * Cos (U)
521 -- Y (U) = Radius * Sin (U)
522
523
524
525 EllipseParameter (Pos : Ax2 from gp; MajorRadius, MinorRadius : Real;
526 P : Pnt from gp)
527 returns Real;
528
529 EllipseParameter (Pos : Ax22d from gp; MajorRadius, MinorRadius : Real;
530 P : Pnt2d from gp)
531 returns Real;
532 --- Purpose : Pos is the Axis of the Ellipse
533
534 --- Purpose : parametrization
535 -- In the local coordinate system of the Ellipse
536 -- X (U) = MajorRadius * Cos (U)
537 -- Y (U) = MinorRadius * Sin (U)
538
539
540 HyperbolaParameter (Pos : Ax2 from gp; MajorRadius, MinorRadius : Real;
541 P : Pnt from gp)
542 returns Real;
543
544 HyperbolaParameter (Pos : Ax22d from gp; MajorRadius, MinorRadius : Real;
545 P : Pnt2d from gp)
546 returns Real;
547 --- Purpose : Pos is the Axis of the Hyperbola
548
549 --- Purpose : parametrization
550 -- In the local coordinate system of the Hyperbola
551 -- X (U) = MajorRadius * Ch (U)
552 -- Y (U) = MinorRadius * Sh (U)
553
554
555 ParabolaParameter (Pos : Ax2 from gp; P : Pnt from gp) returns Real;
556
557 ParabolaParameter (Pos : Ax22d from gp; P : Pnt2d from gp) returns Real;
558 --- Purpose : Pos is the mirror axis of the parabola
559
560 --- Purpose : parametrization
561 -- In the local coordinate system of the parabola
562 -- Y**2 = (2*P) * X where P is the distance between the focus
563 -- and the directrix.
564
565
566
567
568 --- Purpose: The following functions build a 3d curve from a
569 -- 2d curve at a given position defined with an Ax2.
570
571
572 To3d (Pos : Ax2 from gp; P : Pnt2d from gp) returns Pnt from gp;
573
574 To3d (Pos : Ax2 from gp; V : Vec2d from gp) returns Vec from gp;
575
576 To3d (Pos : Ax2 from gp; V : Dir2d from gp) returns Dir from gp;
577
578 To3d (Pos : Ax2 from gp; A : Ax2d from gp) returns Ax1 from gp;
579
580 To3d (Pos : Ax2 from gp; A : Ax22d from gp) returns Ax2 from gp;
581
582 To3d (Pos : Ax2 from gp; L : Lin2d from gp) returns Lin from gp;
583
584 To3d (Pos : Ax2 from gp; C : Circ2d from gp) returns Circ from gp;
585
586 To3d (Pos : Ax2 from gp; E : Elips2d from gp) returns Elips from gp;
587
588 To3d (Pos : Ax2 from gp; H : Hypr2d from gp) returns Hypr from gp;
589
590 To3d (Pos : Ax2 from gp; Prb : Parab2d from gp) returns Parab from gp;
591
592
593 --- Purpose:
594 -- These functions build a 3D geometric entity from a 2D geometric entity.
595 -- The "X Axis" and the "Y Axis" of the global coordinate
596 -- system (i.e. 2D space) are lined up respectively with the
597 -- "X Axis" and "Y Axis" of the 3D coordinate system, Pos.
598
599end ElCLib;
600