-- transformation package --M. Stone October 23, 1979 4:04 PM -- Last Edited by: Stone, January 26, 1983 4:05 pm DIRECTORY Rope USING [ROPE], PointDefs: FROM "PointDefs"; XFormDefs: DEFINITIONS = BEGIN OPEN PointDefs; Axis: TYPE = {x,y,z}; XFormMatrix: TYPE = ARRAY [1..3] OF ObjPt; XFMDescriptor: TYPE = REF XFormMatrix; ProblemWithXForms: SIGNAL[string: Rope.ROPE]; --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: PointDefs.ObjPtSequence,matrix: XFMDescriptor]; XForm6Pts: PUBLIC PROCEDURE[ pts: PointDefs.ObjPtSequence,matrix: XFMDescriptor]; GetInverseXForm: PROCEDURE RETURNS[matrix: XFMDescriptor]; END.