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.
DIRECTORY
Lines2dTypes;
GGBasicTypes: CEDAR DEFINITIONS = BEGIN
Angle: TYPE = REAL;
Edge: TYPE = Lines2dTypes.Edge;
Point: TYPE = Lines2dTypes.Point;
Matrix3by3: TYPE = ARRAY [1..3] OF ARRAY [1..3] OF REAL;
Vector: TYPE = Lines2dTypes.Vector;
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];
END.