1 -- File: Aspect_CircularGrid.cdl
2 -- Created: Fri Mar 17 08:21:04 1995
5 ---Copyright: Matra Datavision 1995
7 class CircularGrid from Aspect
9 inherits Grid from Aspect
13 PlaneAngle, Length from Quantity
16 NegativeValue,NullValue,NumericError from Standard
20 Create(aRadiusStep: Length from Quantity;
21 aDivisionNumber: Integer from Standard;
22 XOrigin: Length from Quantity = 0;
23 anYOrigin: Length from Quantity = 0;
24 aRotationAngle: PlaneAngle from Quantity = 0)
25 returns mutable CircularGrid from Aspect;
26 ---Purpose: creates a new grid. By default this grid is not
29 ---Category: grid definition methods
32 SetRadiusStep(me: mutable; aStep: Length from Quantity)
33 ---Purpose: defines the x step of the grid.
34 raises NegativeValue,NullValue from Standard
35 ---Warning: raises an exception if <aStep> is not strictly positive.
38 SetDivisionNumber(me: mutable; aNumber: Integer from Standard)
39 ---Purpose: defines the step of the grid.
40 raises NegativeValue,NullValue from Standard
41 ---Warning: raises an exception if <aNumber> is not strictly positive.
44 SetGridValues(me: mutable; XOrigin, YOrigin: Length from Quantity;
45 RadiusStep: Length from Quantity;
46 DivisionNumber: Integer from Standard;
47 RotationAngle: PlaneAngle from Quantity)
48 raises NegativeValue,NullValue from Standard
49 ---Warning: raises an exception if <RadiusStep> is not strictly positive.
50 ---Warning: raises an exception if <DivisionNumber> is not strictly positive.
54 ---Category: Pick methods
56 Compute(me; X,Y: Length from Quantity; gridX, gridY : out Length from Quantity)
57 ---Purpose: returns the point of the grid the closest to the point X,Y
62 ---Category: inquire methods
64 RadiusStep(me) returns Length from Quantity
65 ---Purpose: returns the x step of the grid.
68 DivisionNumber(me) returns Integer from Standard
69 ---Purpose: returns the x step of the grid.
72 ---Category: private methods.
80 myRadiusStep: Length from Quantity;
81 myDivisionNumber: Integer from Standard;
82 myAlpha: Real from Standard;
83 myA1,myB1: Real from Standard;
85 end CircularGrid from Aspect;