<> <> <> <> <<>> DIRECTORY Lines2dTypes; 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.