# NSAffineTransform.m

ovidiu@net-community.com
richard@brainstorm.co.uk
Generated at 2025-09-10 09:16:48 +0000

This class provides a way to perform affine transforms. It provides a matrix for transforming from one coordinate system to another.

1996,1999 Free Software Foundation, Inc.
Software documentation for the NSAffineTransform class
Foundation/NSAffineTransform.h
NSCopying
NSCoding
Description forthcoming.
transform
Return an autoreleased instance of this class.
appendTransform:
aTransform
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.
initWithTransform:
aTransform
Initialize the receiever's instance with the instance represented by aTransform.
invert
Calculates the inverse of the receiver's matrix and replaces the receiever's matrix with it.
prependTransform:
aTransform
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.
rotateByDegrees:
angle
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.
rotateByRadians:
angleRad
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.
scaleBy:
scale
Scales the transformation matrix of the reciever by the factor specified by scale.
scaleXBy:
scaleX
yBy:
scaleY
Scales the X axis of the receiver's transformation matrix by scaleX and the Y axis of the transformation matrix by scaleY.
setTransformStruct:
val

Sets the structure which represents the matrix of the reciever. The struct is of the form:

{m11, m12, m21, m22, tX, tY}

transformPoint:
aPoint
Transforms a single point based on the transformation matrix. Returns the resulting point.
transformSize:
aSize
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.
transformStruct

Returns the `NSAffineTransformStruct` structure which represents the matrix of the reciever. The struct is of the form:

{m11, m12, m21, m22, tX, tY}

translateXBy:
tranX
yBy:
tranY
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.