Lines2dTypes.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
Last edited by Bier on February 18, 1987 1:09:16 pm PST
Contents: Type definitions for the Lines2d package.
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 [
Line equation of the form: y*cos(theta) - x*sin(theta) -d = 0,
where theta is the angle which the line makes with the x axis and d is the distance from the line to the origin.
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.