iPlug 2: IMatrix Struct Reference

Used to store transformation matrices. More...

#include <IGraphicsStructs.h>

Public Member Functions

 IMatrix (double xx, double yx, double xy, double yy, double tx, double ty)
 Create an IMatrix, specifying the values. More...
 
 IMatrix ()
 Create an identity matrix. More...
 
IMatrixTranslate (float x, float y)
 Set the matrix for a translation transform. More...
 
IMatrixScale (float x, float y)
 Set the matrix for a scale transform. More...
 
IMatrixRotate (float a)
 Set the matrix for a rotation transform. More...
 
IMatrixSkew (float xa, float ya)
 Set the matrix for a skew transform. More...
 
void TransformPoint (double &x, double &y, double x0, double y0) const
 Transforms a point using this matrix. More...
 
void TransformPoint (double &x, double &y) const
 Transforms the point x, y with the matrix. More...
 
IMatrixTransform (const IRECT &before, const IRECT &after)
 Sets up a transformation matrix to map one rectangle to another. More...
 
IMatrixTransform (const IMatrix &m)
 Transform this matrix with another. More...
 
IMatrixInvert ()
 Changes the matrix to be the inverse of its original value. More...
 

Public Attributes

double mXX
 
double mYX
 
double mXY
 
double mYY
 
double mTX
 
double mTY
 

Used to store transformation matrices.

Definition at line 1998 of file IGraphicsStructs.h.

IMatrix::IMatrix ( double  xx,
double  yx,
double  xy,
double  yy,
double  tx,
double  ty 
)
inline

Create an IMatrix, specifying the values.

Parameters
xxxx component of the affine transformation
yxyx component of the affine transformation
xyxy component of the affine transformation
yyyy component of the affine transformation
txX translation component of the affine transformation
tyY translation component of the affine transformation

Definition at line 2007 of file IGraphicsStructs.h.

◆ IMatrix() [2/2]

IMatrix::IMatrix ( )
inline

◆ Invert()

IMatrix & IMatrix::Invert ( )
inline

Changes the matrix to be the inverse of its original value.

Returns
IMatrix& The changed matrix

Definition at line 2106 of file IGraphicsStructs.h.

◆ Rotate()

IMatrix & IMatrix::Rotate ( float  a)
inline

◆ Scale()

IMatrix & IMatrix::Scale ( float  x,
float  y 
)
inline

◆ Skew()

IMatrix & IMatrix::Skew ( float  xa,
float  ya 
)
inline

◆ Transform() [1/2]

Transform this matrix with another.

Parameters
mThe matrix with which to transform this one
Returns
IMatrix& The result of the transform

Definition at line 2090 of file IGraphicsStructs.h.

◆ Transform() [2/2]

◆ TransformPoint() [1/2]

void IMatrix::TransformPoint ( double &  x,
double &  y 
) const
inline

Transforms the point x, y with the matrix.

Parameters
xThe x coordinate to transform
yThe y coordinate to transform

Definition at line 2068 of file IGraphicsStructs.h.

References TransformPoint().

◆ TransformPoint() [2/2]

void IMatrix::TransformPoint ( double &  x,
double &  y,
double  x0,
double  y0 
) const
inline

◆ Translate()

IMatrix & IMatrix::Translate ( float  x,
float  y 
)
inline

◆ mTX

◆ mTY

◆ mXX

◆ mXY

◆ mYX

◆ mYY


The documentation for this struct was generated from the following file: