DIRECTORY GriffinPoint USING [ObjPt, ObjPtSequence, X, Y], Rope USING [ROPE]; GriffinTransform: CEDAR DEFINITIONS = BEGIN ProblemWithXForms: SIGNAL[string: Rope.ROPE]; Axis: TYPE = {x, y, z}; XFMDescriptor: TYPE = REF XFormMatrix; XFormMatrix: TYPE = ARRAY [1..3] OF GriffinPoint.ObjPt; GetInverseXForm: PROC RETURNS [XFMDescriptor]; InitXForms: PROC [matrix: XFMDescriptor]; Rotate: PROC [theta: REAL, axis: Axis, matrix: XFMDescriptor]; Scale: PROC [scale: ARRAY[GriffinPoint.X..GriffinPoint.Y] OF REAL, matrix: XFMDescriptor]; Translate: PROC [dist: ARRAY[GriffinPoint.X..GriffinPoint.Y] OF REAL, matrix: XFMDescriptor]; XForm4Pts: PROC [pts: GriffinPoint.ObjPtSequence, matrix: XFMDescriptor]; XForm6Pts: PROC [pts: GriffinPoint.ObjPtSequence, matrix: XFMDescriptor]; XFormPt: PROC [pt: GriffinPoint.ObjPt, matrix: XFMDescriptor] RETURNS [GriffinPoint.ObjPt]; END. ΚGriffinTransform.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Created by: Maureen Stone, October 23, 1979 4:04 PM Last Edited by: Ken Pier, November 13, 1985 4:17:14 pm PST Κ[˜code™Kšœ Οmœ1™