Integration of OCCT 6.5.0 from SVN
[occt.git] / src / Aspect / Aspect_RectangularGrid.cdl
1 -- File:        Aspect_RectangularGrid.cdl
2 -- Created:     Thu Mar  2 14:23:42 1995
3 -- Author:      Jean-Louis Frenkel
4 --              <rmi@pernox>
5 ---Copyright:    Matra Datavision 1995
6
7 class RectangularGrid from Aspect
8 inherits Grid from Aspect
9
10 uses
11     PlaneAngle, Length from Quantity
12
13 raises 
14     NegativeValue,NullValue,NumericError from Standard
15
16 is 
17
18     Create(aXStep, aYStep: Length from Quantity;
19                anXOrigin: Length from Quantity = 0;
20                anYOrigin: Length from Quantity = 0;
21                aFirstAngle: PlaneAngle from Quantity = 0;
22                aSecondAngle: PlaneAngle from Quantity = 0;
23                aRotationAngle: PlaneAngle from Quantity = 0)
24     returns mutable RectangularGrid from Aspect
25     ---Purpose: creates a new grid. By default this grid is not
26     --          active.
27     --          The first angle is given relatively to the horizontal.
28     --          The second angle is given relatively to the vertical.
29     raises NumericError from Standard;
30     ---Warning: raises NumericError from Standard if the two
31     --          networks are parallel.
32     
33 ---Category: grid definition methods
34
35
36     SetXStep(me: mutable; aStep: Length from Quantity) 
37     ---Purpose: defines the x step of the grid.
38     raises NegativeValue,NullValue from Standard
39     ---Warning: raises an exception is the step is not strictly positive.
40     is static;
41
42     SetYStep(me: mutable; aStep: Length from Quantity) 
43     ---Purpose: defines the y step of the grid.
44     raises NegativeValue,NullValue from Standard
45     ---Warning: raises an exception is the step is not strictly positive.
46     is static;
47
48     SetAngle(me: mutable; anAngle1: PlaneAngle from Quantity;
49                           anAngle2: PlaneAngle from Quantity)
50     ---Purpose: defines the angle of the second network
51     --          the fist angle is given relatively to the horizontal.
52     --          the second angle is given relatively to the vertical.
53     raises NumericError from Standard
54     ---Warning: raises NumericError from Standard if the two
55     --          line networks are parallel.
56     is static;
57
58     SetGridValues(me: mutable; XOrigin, YOrigin: Length from Quantity;
59                                XStep, YStep: Length from Quantity;
60                                RotationAngle: PlaneAngle from Quantity)
61     is static;
62
63 ---Category: Pick methods
64 --           
65     Compute(me; X,Y: Length from Quantity; gridX, gridY : out Length from Quantity)
66     ---Purpose: returns the point of the grid the closest to the point X,Y
67     is static;
68     
69
70     
71 ---Category: inquire methods
72
73     XStep(me) returns Length from Quantity
74     ---Purpose: returns the x step of the grid.
75     is static;
76
77     YStep(me) returns Length from Quantity
78     ---Purpose: returns the x step of the grid.
79     is static;
80     
81     FirstAngle(me) returns PlaneAngle from Quantity
82     ---Purpose: returns the x Angle of the grid, relatively to the horizontal.
83     is static;
84     
85     SecondAngle(me) returns PlaneAngle from Quantity
86     ---Purpose: returns the y Angle of the grid, relatively to the vertical.
87     is static;
88     
89    
90     
91     
92 ---Category: private methods.
93
94     
95     Init(me: mutable)
96     is redefined static;
97     
98     CheckAngle(me;alpha,beta: PlaneAngle from Quantity) 
99     returns Boolean from Standard
100     is static private;
101     
102 fields
103
104     myXStep: Length from Quantity;
105     myYStep: Length from Quantity;
106     myFirstAngle: PlaneAngle from Quantity;
107     mySecondAngle: PlaneAngle from Quantity;
108     a1,b1,c1: Real from Standard;
109     a2,b2,c2: Real from Standard;
110     
111     
112 end RectangularGrid from Aspect;