Represents a 2D affinetransformation matrix. More...
Public Member Functions  
AffineTransform () noexcept  
Creates an identity transform. More...  
AffineTransform (const AffineTransform &other) noexcept  
Creates a copy of another transform. More...  
AffineTransform (float mat00, float mat01, float mat02, float mat10, float mat11, float mat12) noexcept  
Creates a transform from a set of raw matrix values. More...  
AffineTransform &  operator= (const AffineTransform &other) noexcept 
Copies from another AffineTransform object. More...  
bool  operator== (const AffineTransform &other) const noexcept 
Compares two transforms. More...  
bool  operator!= (const AffineTransform &other) const noexcept 
Compares two transforms. More...  
template<typename ValueType >  
void  transformPoint (ValueType &x, ValueType &y) const noexcept 
Transforms a 2D coordinate using this matrix. More...  
template<typename ValueType >  
void  transformPoints (ValueType &x1, ValueType &y1, ValueType &x2, ValueType &y2) const noexcept 
Transforms two 2D coordinates using this matrix. More...  
template<typename ValueType >  
void  transformPoints (ValueType &x1, ValueType &y1, ValueType &x2, ValueType &y2, ValueType &x3, ValueType &y3) const noexcept 
Transforms three 2D coordinates using this matrix. More...  
AffineTransform  translated (float deltaX, float deltaY) const noexcept 
Returns a new transform which is the same as this one followed by a translation. More...  
template<typename PointType >  
AffineTransform  translated (PointType delta) const noexcept 
Returns a new transform which is the same as this one followed by a translation. More...  
AffineTransform  withAbsoluteTranslation (float translationX, float translationY) const noexcept 
Returns a copy of this transform with the specified translation matrix values. More...  
AffineTransform  rotated (float angleInRadians) const noexcept 
Returns a transform which is the same as this one followed by a rotation. More...  
AffineTransform  rotated (float angleInRadians, float pivotX, float pivotY) const noexcept 
Returns a transform which is the same as this one followed by a rotation about a given point. More...  
AffineTransform  scaled (float factorX, float factorY) const noexcept 
Returns a transform which is the same as this one followed by a rescaling. More...  
AffineTransform  scaled (float factor) const noexcept 
Returns a transform which is the same as this one followed by a rescaling. More...  
AffineTransform  scaled (float factorX, float factorY, float pivotX, float pivotY) const noexcept 
Returns a transform which is the same as this one followed by a rescaling. More...  
AffineTransform  sheared (float shearX, float shearY) const noexcept 
Returns a transform which is the same as this one followed by a shear. More...  
AffineTransform  inverted () const noexcept 
Returns a matrix which is the inverse operation of this one. More...  
AffineTransform  followedBy (const AffineTransform &other) const noexcept 
Returns the result of concatenating another transformation after this one. More...  
bool  isIdentity () const noexcept 
Returns true if this transform has no effect on points. More...  
bool  isSingularity () const noexcept 
Returns true if this transform maps to a singularity  i.e. More...  
bool  isOnlyTranslation () const noexcept 
Returns true if the transform only translates, and doesn't scale or rotate the points. More...  
float  getTranslationX () const noexcept 
If this transform is only a translation, this returns the X offset. More...  
float  getTranslationY () const noexcept 
If this transform is only a translation, this returns the X offset. More...  
float  getScaleFactor () const noexcept 
Returns the approximate scale factor by which lengths will be transformed. More...  
Static Public Member Functions  
static AffineTransform  translation (float deltaX, float deltaY) noexcept 
Returns a new transform which is a translation. More...  
template<typename PointType >  
static AffineTransform  translation (PointType delta) noexcept 
Returns a new transform which is a translation. More...  
static AffineTransform  rotation (float angleInRadians) noexcept 
Returns a new transform which is a rotation about (0, 0). More...  
static AffineTransform  rotation (float angleInRadians, float pivotX, float pivotY) noexcept 
Returns a new transform which is a rotation about a given point. More...  
static AffineTransform  scale (float factorX, float factorY) noexcept 
Returns a new transform which is a rescale about the origin. More...  
static AffineTransform  scale (float factor) noexcept 
Returns a new transform which is a rescale about the origin. More...  
static AffineTransform  scale (float factorX, float factorY, float pivotX, float pivotY) noexcept 
Returns a new transform which is a rescale centred around the point provided. More...  
static AffineTransform  shear (float shearX, float shearY) noexcept 
Returns a shear transform, centred around the origin (0, 0). More...  
static AffineTransform  verticalFlip (float height) noexcept 
Returns a transform that will flip coordinates vertically within a window of the given height. More...  
static AffineTransform  fromTargetPoints (float x00, float y00, float x10, float y10, float x01, float y01) noexcept 
Returns the transform that will map three known points onto three coordinates that are supplied. More...  
static AffineTransform  fromTargetPoints (float sourceX1, float sourceY1, float targetX1, float targetY1, float sourceX2, float sourceY2, float targetX2, float targetY2, float sourceX3, float sourceY3, float targetX3, float targetY3) noexcept 
Returns the transform that will map three specified points onto three target points. More...  
Public Attributes  
float  mat00 
float  mat01 
float  mat02 
float  mat10 
float  mat11 
float  mat12 
Static Public Attributes  
static const AffineTransform  identity 
A readytouse identity transform, which you can use to append other transformations to. More...  
Detailed Description
Represents a 2D affinetransformation matrix.
An affine transformation is a transformation such as a rotation, scale, shear, resize or translation.
These are used for various 2D transformation tasks, e.g. with Path objects.
Constructor & Destructor Documentation

noexcept 
Creates an identity transform.

noexcept 
Creates a copy of another transform.

noexcept 
Creates a transform from a set of raw matrix values.
The resulting matrix is:
(mat00 mat01 mat02) (mat10 mat11 mat12) ( 0 0 1 )
Member Function Documentation

noexcept 
Copies from another AffineTransform object.

noexcept 
Compares two transforms.

noexcept 
Compares two transforms.

noexcept 
Transforms a 2D coordinate using this matrix.

noexcept 
Transforms two 2D coordinates using this matrix.
This is just a shortcut for calling transformPoint() on each of these pairs of coordinates in turn. (And putting all the calculations into one function hopefully also gives the compiler a bit more scope for pipelining it).

noexcept 
Transforms three 2D coordinates using this matrix.
This is just a shortcut for calling transformPoint() on each of these pairs of coordinates in turn. (And putting all the calculations into one function hopefully also gives the compiler a bit more scope for pipelining it).

noexcept 
Returns a new transform which is the same as this one followed by a translation.

noexcept 
Returns a new transform which is the same as this one followed by a translation.

staticnoexcept 
Returns a new transform which is a translation.

staticnoexcept 
Returns a new transform which is a translation.

noexcept 
Returns a copy of this transform with the specified translation matrix values.

noexcept 
Returns a transform which is the same as this one followed by a rotation.
The rotation is specified by a number of radians to rotate clockwise, centred around the origin (0, 0).

noexcept 
Returns a transform which is the same as this one followed by a rotation about a given point.
The rotation is specified by a number of radians to rotate clockwise, centred around the coordinates passed in.

staticnoexcept 
Returns a new transform which is a rotation about (0, 0).

staticnoexcept 
Returns a new transform which is a rotation about a given point.

noexcept 
Returns a transform which is the same as this one followed by a rescaling.
The scaling is centred around the origin (0, 0).

noexcept 
Returns a transform which is the same as this one followed by a rescaling.
The scaling is centred around the origin (0, 0).

noexcept 
Returns a transform which is the same as this one followed by a rescaling.
The scaling is centred around the origin provided.

staticnoexcept 
Returns a new transform which is a rescale about the origin.

staticnoexcept 
Returns a new transform which is a rescale about the origin.

staticnoexcept 
Returns a new transform which is a rescale centred around the point provided.

noexcept 
Returns a transform which is the same as this one followed by a shear.
The shear is centred around the origin (0, 0).

staticnoexcept 
Returns a shear transform, centred around the origin (0, 0).

staticnoexcept 
Returns a transform that will flip coordinates vertically within a window of the given height.
This is handy for converting between upsidedown coordinate systems such as OpenGL or CoreGraphics.

noexcept 
Returns a matrix which is the inverse operation of this one.
Some matrices don't have an inverse  in this case, the method will just return an identity transform.

staticnoexcept 
Returns the transform that will map three known points onto three coordinates that are supplied.
This returns the transform that will transform (0, 0) into (x00, y00), (1, 0) to (x10, y10), and (0, 1) to (x01, y01).

staticnoexcept 
Returns the transform that will map three specified points onto three target points.

noexcept 
Returns the result of concatenating another transformation after this one.

noexcept 
Returns true if this transform has no effect on points.

noexcept 
Returns true if this transform maps to a singularity  i.e.
if it has no inverse.

noexcept 
Returns true if the transform only translates, and doesn't scale or rotate the points.

noexcept 
If this transform is only a translation, this returns the X offset.
 See also
 isOnlyTranslation

noexcept 
If this transform is only a translation, this returns the X offset.
 See also
 isOnlyTranslation

noexcept 
Returns the approximate scale factor by which lengths will be transformed.
Obviously a length may be scaled by entirely different amounts depending on its direction, so this is only appropriate as a rough guide.
Member Data Documentation

static 
A readytouse identity transform, which you can use to append other transformations to.
e.g.
float AffineTransform::mat00 
float AffineTransform::mat01 
float AffineTransform::mat02 
float AffineTransform::mat10 
float AffineTransform::mat11 
float AffineTransform::mat12 
The documentation for this class was generated from the following file: