<> <> <> <> <<>> DIRECTORY Imager; Lines2dTypes: CEDAR DEFINITIONS = BEGIN Point: TYPE = Imager.VEC; Edge: TYPE = REF EdgeObj; EdgeObj: TYPE = RECORD [ line: Line, -- the line which passes through the endpoints of this edge startIsFirst: BOOL, start, end: Point]; Line: TYPE = REF LineObj; LineObj: TYPE = RECORD [ <> <> theta: REAL, -- angle in (-pi..pi] d: REAL, -- distance from line to origin c: REAL, -- cos(theta). Cached for convenience. s: REAL, -- sin(theta). Cached for convenience. slope: REAL, yInt: REAL -- for historical (Solidviews) reasons ]; Ray: TYPE = REF RayObj; RayObj: TYPE = RECORD [ p: Point, d: Vector]; Vector: TYPE = Imager.VEC; END.