GGBasicTypes.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
Last edited by Bier on January 6, 1986 10:08:29 pm PST
Contents: Types which have long been stable and which everything relies on. Bier separated these from GGModelTypes to reduce compilation dependencies.
GGBasicTypes: CEDAR DEFINITIONS =
BEGIN
Angle: TYPE = REAL;
Point: TYPE = Lines2dTypes.Point;
Matrix3by3: TYPE = ARRAY [1..3] OF ARRAY [1..3] OF REAL;
Vector: TYPE = Lines2dTypes.Vector;
Edge: TYPE = Lines2dTypes.Edge;
EdgeObj:
TYPE = Lines2dTypes.EdgeObj;
Line: TYPE = Lines2dTypes.Line;
LineObj: TYPE = Lines2dTypes.LineObj;
Circle: TYPE = REF CircleObj;
CircleObj:
TYPE =
RECORD [
origin: Point,
radius: REAL
];
Arc: TYPE = REF ArcObj;
ArcObj:
TYPE =
RECORD [
circle: Circle,
ccw: BOOL,
p0, p2: Point, -- the arc is swept out by going counter-clockwise from p0 to p2
theta0, deltaTheta: REAL, -- theta0 is the angle at p0. theta0 + deltaTheta is the angle at p2.
edge: Edge -- if the arc is straight
];
Ray: TYPE = Lines2dTypes.Ray;
RayObj: TYPE = Lines2dTypes.RayObj;
BitVector: TYPE = REF BitVectorObj;
BitVectorObj:
TYPE =
RECORD [
bits: PACKED SEQUENCE len: NAT OF BOOL]; -- added PACKED. KAP February 28, 1986
BitMatrix: TYPE = REF BitMatrixObj; -- for SequenceObj. KAP April 4, 1986
BitMatrixObj:
TYPE =
RECORD [
vectors: SEQUENCE len: NAT OF BitVector];
SequenceOfReal: TYPE = REF SequenceOfRealObj;
SequenceOfRealObj:
TYPE =
RECORD [
reals: SEQUENCE len: NAT OF REAL];
BoundBox: TYPE = REF BoundBoxObj;
BoundBoxObj: TYPE = RECORD [loX, loY, hiX, hiY: REAL, null, infinite: BOOL];
END.