Up

NSAffineTransform.m

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.

Software documentation for the NSAffineTransform class

NSAffineTransform : NSObject

Declared in:
Foundation/NSAffineTransform.h
Conforms to:
NSCopying
NSCoding
Availability: OpenStep

Description forthcoming.
Method summary

transform 

+ (NSAffineTransform*) transform;
Availability: OpenStep

Return an autoreleased instance of this class.

appendTransform: 

- (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.

initWithTransform: 

- (id) initWithTransform: (NSAffineTransform*)aTransform;
Availability: OpenStep

Initialize the receiever's instance with the instance represented by aTransform.

invert 

- (void) invert;
Availability: OpenStep

Calculates the inverse of the receiver's matrix and replaces the receiever's matrix with it.

prependTransform: 

- (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.

rotateByDegrees: 

- (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.

rotateByRadians: 

- (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.

scaleBy: 

- (void) scaleBy: (CGFloat)scale;
Availability: OpenStep

Scales the transformation matrix of the reciever by the factor specified by scale.

scaleXBy: yBy: 

- (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.

setTransformStruct: 

- (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}


transformPoint: 

- (NSPoint) transformPoint: (NSPoint)aPoint;
Availability: OpenStep

Transforms a single point based on the transformation matrix. Returns the resulting point.

transformSize: 

- (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.

transformStruct 

- (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}


translateXBy: yBy: 

- (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