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
104
105
106
107
108
109
110
111
112
|
-- File: Aspect_RectangularGrid.cdl
-- Created: Thu Mar 2 14:23:42 1995
-- Author: Jean-Louis Frenkel
-- <rmi@pernox>
---Copyright: Matra Datavision 1995
class RectangularGrid from Aspect
inherits Grid from Aspect
uses
PlaneAngle, Length from Quantity
raises
NegativeValue,NullValue,NumericError from Standard
is
Create(aXStep, aYStep: Length from Quantity;
anXOrigin: Length from Quantity = 0;
anYOrigin: Length from Quantity = 0;
aFirstAngle: PlaneAngle from Quantity = 0;
aSecondAngle: PlaneAngle from Quantity = 0;
aRotationAngle: PlaneAngle from Quantity = 0)
returns mutable RectangularGrid from Aspect
---Purpose: creates a new grid. By default this grid is not
-- active.
-- The first angle is given relatively to the horizontal.
-- The second angle is given relatively to the vertical.
raises NumericError from Standard;
---Warning: raises NumericError from Standard if the two
-- networks are parallel.
---Category: grid definition methods
SetXStep(me: mutable; aStep: Length from Quantity)
---Purpose: defines the x step of the grid.
raises NegativeValue,NullValue from Standard
---Warning: raises an exception is the step is not strictly positive.
is static;
SetYStep(me: mutable; aStep: Length from Quantity)
---Purpose: defines the y step of the grid.
raises NegativeValue,NullValue from Standard
---Warning: raises an exception is the step is not strictly positive.
is static;
SetAngle(me: mutable; anAngle1: PlaneAngle from Quantity;
anAngle2: PlaneAngle from Quantity)
---Purpose: defines the angle of the second network
-- the fist angle is given relatively to the horizontal.
-- the second angle is given relatively to the vertical.
raises NumericError from Standard
---Warning: raises NumericError from Standard if the two
-- line networks are parallel.
is static;
SetGridValues(me: mutable; XOrigin, YOrigin: Length from Quantity;
XStep, YStep: Length from Quantity;
RotationAngle: PlaneAngle from Quantity)
is static;
---Category: Pick methods
--
Compute(me; X,Y: Length from Quantity; gridX, gridY : out Length from Quantity)
---Purpose: returns the point of the grid the closest to the point X,Y
is static;
---Category: inquire methods
XStep(me) returns Length from Quantity
---Purpose: returns the x step of the grid.
is static;
YStep(me) returns Length from Quantity
---Purpose: returns the x step of the grid.
is static;
FirstAngle(me) returns PlaneAngle from Quantity
---Purpose: returns the x Angle of the grid, relatively to the horizontal.
is static;
SecondAngle(me) returns PlaneAngle from Quantity
---Purpose: returns the y Angle of the grid, relatively to the vertical.
is static;
---Category: private methods.
Init(me: mutable)
is redefined static;
CheckAngle(me;alpha,beta: PlaneAngle from Quantity)
returns Boolean from Standard
is static private;
fields
myXStep: Length from Quantity;
myYStep: Length from Quantity;
myFirstAngle: PlaneAngle from Quantity;
mySecondAngle: PlaneAngle from Quantity;
a1,b1,c1: Real from Standard;
a2,b2,c2: Real from Standard;
end RectangularGrid from Aspect;
|