<> <> <<>> <> <> DIRECTORY Imager USING [Context], ImagerBasic USING [Vec, IntVec, ImagingSpace], ImagerInternalDefs USING [TransformRecord, Transformation, TransformType]; ImagerTransform: CEDAR DEFINITIONS = BEGIN Vec: TYPE = ImagerBasic.Vec; -- ( [x, y: REAL] ) IntVec: TYPE = ImagerBasic.IntVec; -- ( [x, y: INTEGER] ) Context: TYPE = Imager.Context; TransformRecord: TYPE = ImagerInternalDefs.TransformRecord; Transformation: TYPE = ImagerInternalDefs.Transformation; ImagingSpace: TYPE = ImagerBasic.ImagingSpace; TransformType: TYPE = ImagerInternalDefs.TransformType; TransformTypeNone: SIGNAL; SetTransform: PROC [context: Context, transformSpace: ImagingSpace, transform: TransformRecord]; <> GetTransform: PROC [context: Context, transformSpace: ImagingSpace] RETURNS [TransformRecord]; ConcatToContext: PROC [context: Context, transformSpace: ImagingSpace, transform: Transformation]; <> Transform: PROC [transform: TransformRecord, p: Vec] RETURNS [Vec]; InverseTransform: PROC [transform: TransformRecord, p: Vec] RETURNS [Vec]; TransformVec: PROC [transform: TransformRecord, p: Vec] RETURNS [Vec]; InverseTransformVec: PROC [transform: TransformRecord, p: Vec] RETURNS [Vec]; IntTransform: PROC [transform: TransformRecord, p: IntVec] RETURNS [IntVec]; InverseIntTransform: PROC [transform: TransformRecord, p: IntVec] RETURNS [IntVec]; TransformIntVec: PROC [transform: TransformRecord, p: IntVec] RETURNS [IntVec]; InverseTransformIntVec: PROC [transform: TransformRecord, p: IntVec] RETURNS [IntVec]; END.