3.5 The Transformations Used by CLIM
3.5.3 CLIM Transformation Predicates
The following predicates are provided in order to be able to determine whether or not a transformation has a particular characteristic. transformation-equal [Generic Function]
- Arguments:
- transformation1 transformation2
- Summary:
- Returns t if the two transformations have equivalent effects (that is, are mathematically equal); otherwise, it returns nil.
identity-transformation-p [Generic Function]
- Arguments:
- transformation
- Summary:
- Returns t if transformation is equal (in the sense of transformation-equal) to the identity transformation; otherwise, it returns nil.
translation-transformation-p [Generic Function]
- Arguments:
- transformation
- Summary:
- Returns t if transformation is a pure translation, that is, a transformation that moves every point by the same distance in x and the same distance in y. Otherwise, it returns nil.
invertible-transformation-p [Generic Function]
- Arguments:
- transformation
- Summary:
- Returns t if transformation has an inverse; otherwise, it returns nil.
reflection-transformation-p [Generic Function]
- Arguments:
- transformation
- Summary:
- Returns t if transformation inverts the "handedness" of the coordinate system; otherwise, it returns nil. Note that this is a very inclusive category--transformations are considered reflections even if they distort, scale, or skew the coordinate system, as long as they invert the handedness.
rigid-transformation-p [Generic Function]
- Arguments:
- transformation
- Summary:
- Returns t if transformation transforms the coordinate system as a rigid object, that is, as a combination of translations, rotations, and pure reflections. Otherwise, it returns nil.
- Rigid transformations are the most general category of transformations that preserve magnitudes of all lengths and angles.
even-scaling-transformation-p [Generic Function]
- Arguments:
- transformation
- Summary:
- Returns t if transformation multiplies all x-lengths and y-lengths by the same magnitude; otherwise, it returns nil. This includes pure reflections through vertical and horizontal lines.
scaling-transformation-p [Generic Function]
- Arguments:
- transformation
- Summary:
- Returns t if transformation multiplies all x-lengths by one magnitude and all y-lengths by another magnitude; otherwise, it returns nil. This category includes even scalings as a subset.
rectilinear-transformation-p [Generic Function]
- Arguments:
- transformation
- Summary:
- Returns t if transformation will always transform any axis-aligned rectangle into another axis-aligned rectangle; otherwise, it returns nil. This category includes scalings as a subset, and also includes 90 degree rotations.
- Rectilinear transformations are the most general category of transformations for which the bounding rectangle of a transformed object can be found by transforming the bounding rectangle of the original object.
CLIM 2.0 User's Guide - OCT 1998 Generated with Harlequin WebMaker