DIRECTORY ImagerBasic USING [Pair, IntPair, Rectangle, IntRectangle, Transformation]; ImagerTransform: CEDAR DEFINITIONS = BEGIN OPEN ImagerBasic; TransformTypeNone: SIGNAL; Translate: PUBLIC PROC [dx, dy: REAL] RETURNS [Transformation]; Scale: PUBLIC PROC [sx, sy: REAL] RETURNS [Transformation]; Rotate: PUBLIC PROC [degrees: REAL] RETURNS [Transformation]; Concat: PUBLIC PROC [pre, post: Transformation] RETURNS [Transformation]; Invert: PUBLIC PROC [m: Transformation] RETURNS [Transformation]; Create: PUBLIC PROC [a, b, c, d, e, f: REAL] RETURNS [Transformation]; PreTranslate: PUBLIC PROC [dx, dy: REAL, m: Transformation] RETURNS [Transformation]; PreScale: PUBLIC PROC [sx, sy: REAL, m: Transformation] RETURNS [Transformation]; PreRotate: PUBLIC PROC [degrees: REAL, m: Transformation] RETURNS [Transformation]; PreIntTranslate: PUBLIC PROC [dx, dy: INTEGER, m: Transformation] RETURNS [Transformation]; Transform: PROC [p: Pair, transform: Transformation] RETURNS [Pair]; InverseTransform: PROC [p: Pair, transform: Transformation] RETURNS [Pair]; TransformVec: PROC [p: Pair, transform: Transformation] RETURNS [Pair]; InverseTransformVec: PROC [p: Pair, transform: Transformation] RETURNS [Pair]; IntTransform: PROC [p: IntPair, transform: Transformation] RETURNS [IntPair]; InverseIntTransform: PROC [p: IntPair, transform: Transformation] RETURNS [IntPair]; TransformIntVec: PROC [p: IntPair, transform: Transformation] RETURNS [IntPair]; InverseTransformIntVec: PROC [p: IntPair, transform: Transformation] RETURNS [IntPair]; TransformRectangle: PROC [rect: Rectangle, transform: Transformation] RETURNS [Rectangle]; TransformIntRectangle: PROC [rect: IntRectangle, transform: Transformation] RETURNS [IntRectangle]; END. 2ImagerTransform.mesa This interface provides the internal view of the procedures, structures, etc. involved in setting, modifying and using transformations in the imager. Last Edited by: Crow, July 31, 1983 3:28 pm Plass, July 15, 1983 8:59 am These make new transformation matrices. These are accelerators for the simple operations of premultiplying by a translate, scale, or rotate. These apply the supplied transform (or its inverse) to the indicated type These always return rectangles, thus "hard" transforms will cause a bounding box to be returned สC˜headšœ™J™•J™šœ™Jšœ™J™—unitšฯk ˜ Jšœ œ:˜M——head2šœœ ˜"Jšœœœ ˜J˜Lšœœ˜—L˜™'Jš ฯn œœœ œœ˜?Jšžœ œ œœ˜;Jšžœ œ œœ˜=Jšžœœœœ˜IJšžœœœœ˜AJš žœœœœœ˜F—J˜™dJš ž œœœ œœ˜UJšžœ œ œœ˜QJšž œ œ œœ˜SJš žœœœ œœ˜[—šฯiI™IItšž œœ$ œ˜DJšžœœ$ œ˜KJšž œœ$ œ˜GJšžœœ$ œ˜NJšž œœ' œ ˜MJšžœœ' œ ˜TJšžœœ' œ ˜PJšžœœ' œ ˜W—šŸ_™_Nšžœœ.œ ˜ZNšžœœ1œ˜cJ˜—Jšœ˜—…—า G