1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
-- File: Conic.cdl
-- Created: Tue Feb 11 16:07:09 1992
-- Author: Laurent BUCHARD
-- <lbr@phobox>
---Copyright: Matra Datavision 1992
class Conic from IntAna2d
---Purpose: Definition of a conic by its implicit quadaratic equation:
-- A.X**2 + B.Y**2 + 2.C.X*Y + 2.D.X + 2.E.Y + F = 0.
uses XY from gp,
Ax2d from gp,
Circ2d from gp,
Elips2d from gp,
Parab2d from gp,
Hypr2d from gp,
Lin2d from gp
is
Create(C: Circ2d from gp)
returns Conic from IntAna2d;
Create(C: Lin2d from gp)
returns Conic from IntAna2d;
Create(C: Parab2d from gp)
returns Conic from IntAna2d;
Create(C: Hypr2d from gp)
returns Conic from IntAna2d;
Create(C: Elips2d from gp)
returns Conic from IntAna2d;
Value(me; X,Y: Real)
---Purpose: value of the function F at the point X,Y.
returns Real
is static;
Grad(me; X,Y: Real)
---Purpose: returns the value of the gradient of F at the point X,Y.
returns XY from gp
is static;
ValAndGrad(me; X,Y: Real; Val: out Real; Grd: out XY from gp)
---Purpose: Returns the value of the function and its gradient at
-- the point X,Y.
is static;
Coefficients(me; A,B,C,D,E,F: out Real)
---Purpose: returns the coefficients of the polynomial equation
-- wich defines the conic:
-- A.X**2 + B.Y**2 + 2.C.X*Y + 2.D.X + 2.E.Y + F = 0.
is static;
NewCoefficients(me; A,B,C,D,E,F: in out Real ; Axis: Ax2d from gp)
---Purpose: Returns the coefficients of the polynomial equation
-- ( written in the natural coordinates system )
-- A x x + B y y + 2 C x y + 2 D x + 2 E y + F
-- in the local coordinates system defined by Axis
is static;
fields
a: Real;
b: Real;
c: Real;
d: Real;
e: Real;
f: Real;
end Conic;
|