ThreeDPackage.mesa
Last Edited by: Crow, December 5, 1983 7:47 pm
DIRECTORY;
ThreeDPackage: CEDAR DEFINITIONS
~ BEGIN
Triple: TYPE ~ RECORD [ x, y, z: REAL];
Quad: TYPE ~ RECORD [ x, y, z, w: REAL];
Transformation3D: TYPE ~ RECORD [ a, b, c, d: Quad];
SumTriple: PROCEDURE [t1, t2: Triple] RETURNS [Triple];
DiffTriple: PROCEDURE [t1, t2: Triple] RETURNS [Triple];
ScaleTriple: PROCEDURE [t: Triple, s: REAL] RETURNS [Triple];
Normalize: PROC[v: Triple] RETURNS[Triple];
DotProd: PROC[v1, v2: Triple] RETURNS [REAL];
CrossProd: PROC[v1, v2: Triple] RETURNS [vOut: Triple];
GetIDTransform: PUBLIC PROC[] RETURNS[id: Transformation3D];
ConcatT: PROC[xfm1, xfm2: Transformation3D] RETURNS[xfmOut: Transformation3D];
Transform3D: PROC[ vtx: Triple, xfm: Transformation3D] RETURNS [Triple];
TransformVec3D: PROC[ vtx: Triple, xfm: Transformation3D] RETURNS [Triple];
Translate3D: PROC[ delta: Triple] RETURNS [Transformation3D];
Rotate3D: PROC[base, axis: Triple, theta: REAL] RETURNS[Transformation3D];

END.