-- transformation package --M. Stone October 23, 1979 4:04 PM DIRECTORY PointDefs: FROM "PointDefs"; XFormDefs: DEFINITIONS = BEGIN OPEN PointDefs; Axis: TYPE = {x,y,z}; XFormMatrix: TYPE = ARRAY [1..3] OF ObjPt; XFMDescriptor: TYPE = DESCRIPTOR FOR ARRAY [1..3] OF ObjPt; ProblemWithXForms: SIGNAL[string: STRING]; --Exported by TransformFns InitXForms: PROCEDURE[matrix: XFMDescriptor]; Rotate: PROCEDURE[ theta: REAL, axis: XFormDefs.Axis,matrix: XFMDescriptor]; Scale: PROCEDURE[ scale: ARRAY[X..Y] OF REAL,matrix: XFMDescriptor]; Translate: PROCEDURE[ dist: ARRAY[X..Y] OF REAL,matrix: XFMDescriptor]; XFormPt: PROCEDURE [pt: ObjPt,matrix: XFMDescriptor] RETURNS[ObjPt]; XForm4Pts: PROCEDURE[ pts: DESCRIPTOR FOR ARRAY OF ObjPt,matrix: XFMDescriptor]; XForm6Pts: PUBLIC PROCEDURE[ pts: DESCRIPTOR FOR ARRAY OF ObjPt,matrix: XFMDescriptor]; GetInverseXForm: PROCEDURE RETURNS[matrix: XFMDescriptor]; END.