Up
Authors
- Ovidiu Predescu (
ovidiu@net-community.com
)
-
- Richard Frith-Macdonald (
richard@brainstorm.co.uk
)
-
This class provides a way to perform affine transforms. It
provides a matrix for transforming from one coordinate
system to another.
Copyright: (C) 1996,1999 Free Software Foundation, Inc.
- Declared in:
- Foundation/NSAffineTransform.h
- Conforms to:
- NSCopying
- NSCoding
Availability: OpenStep
Description forthcoming.
Method summary
+ (
NSAffineTransform*)
transform;
Availability: OpenStep
Return an autoreleased instance of this class.
- (void)
appendTransform: (
NSAffineTransform*)aTransform;
Availability: OpenStep
Appends the transform matrix to the receiver. This
is done by performing a matrix multiplication of the
receiver with aTransform so that
aTransform is the first transform applied
to the user coordinate. The new matrix then replaces the
receiver's matrix.
- (id)
initWithTransform: (
NSAffineTransform*)aTransform;
Availability: OpenStep
Initialize the receiever's instance with the
instance represented by aTransform.
- (void)
invert;
Availability: OpenStep
Calculates the inverse of the receiver's matrix
and replaces the receiever's matrix with it.
- (void)
prependTransform: (
NSAffineTransform*)aTransform;
Availability: OpenStep
Prepends the transform matrix to the receiver.
This is done by performing a matrix multiplication of
the receiver with aTransform so that
aTransform is the last transform applied
to the user coordinate. The new matrix then replaces the
receiver's matrix.
- (void)
rotateByDegrees: (
CGFloat)angle;
Availability: OpenStep
Applies the rotation specified by angle
in degrees. Points transformed with the transformation
matrix of the receiver are rotated counter-clockwise
by the number of degrees specified by angle.
- (void)
rotateByRadians: (
CGFloat)angleRad;
Availability: OpenStep
Applies the rotation specified by angle in radians.
Points transformed with the transformation matrix of
the receiver are rotated counter-clockwise by the
number of radians specified by angle.
- (void)
scaleBy: (
CGFloat)scale;
Availability: OpenStep
Scales the transformation matrix of the reciever by
the factor specified by scale.
- (void)
scaleXBy: (
CGFloat)scaleX
yBy: (
CGFloat)scaleY;
Availability: OpenStep
Scales the X axis of the receiver's transformation
matrix by scaleX and the Y axis of the
transformation matrix by scaleY.
- (void)
setTransformStruct: (NSAffineTransformStruct)val;
Availability: OpenStep
Sets the structure which represents the matrix of
the reciever. The struct is of the form:
{m11, m12, m21, m22, tX, tY}
- (
NSPoint)
transformPoint: (
NSPoint)aPoint;
Availability: OpenStep
Transforms a single point based on the
transformation matrix. Returns the resulting
point.
- (
NSSize)
transformSize: (
NSSize)aSize;
Availability: OpenStep
Transforms the NSSize represented by
aSize using the reciever's transformation
matrix. Returns the resulting NSSize.
NB. A
transform can result in negative size components
... so calling code should check for and deal with that
situation.
- (NSAffineTransformStruct)
transformStruct;
Availability: OpenStep
Returns the NSAffineTransformStruct
structure which represents the matrix of the
reciever. The struct is of the form:
{m11, m12, m21, m22, tX, tY}
- (void)
translateXBy: (
CGFloat)tranX
yBy: (
CGFloat)tranY;
Availability: OpenStep
Applies the translation specified by
tranX and tranY to the
receiver's matrix. Points transformed by the
reciever's matrix after this operation will be
shifted in position based on the specified
translation.
Up