|
JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins
« « « Anklang Documentation |
Represents a 2D affine-transformation matrix. More...
#include "juce_AffineTransform.h"
Public Member Functions | |
| AffineTransform ()=default | |
| Creates an identity transform. | |
| AffineTransform (const AffineTransform &)=default | |
| Creates a copy of another transform. | |
| AffineTransform (float mat00, float mat01, float mat02, float mat10, float mat11, float mat12) noexcept | |
| Creates a transform from a set of raw matrix values. | |
| AffineTransform & | operator= (const AffineTransform &)=default |
| Copies from another AffineTransform object. | |
| bool | operator== (const AffineTransform &other) const noexcept |
| Compares two transforms. | |
| bool | operator!= (const AffineTransform &other) const noexcept |
| Compares two transforms. | |
| template<typename ValueType > | |
| void | transformPoint (ValueType &x, ValueType &y) const noexcept |
| Transforms a 2D coordinate using this matrix. | |
| template<typename ValueType > | |
| void | transformPoints (ValueType &x1, ValueType &y1, ValueType &x2, ValueType &y2) const noexcept |
| Transforms two 2D coordinates using this matrix. | |
| 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. | |
| AffineTransform | translated (float deltaX, float deltaY) const noexcept |
| Returns a new transform which is the same as this one followed by a translation. | |
| template<typename PointType > | |
| AffineTransform | translated (PointType delta) const noexcept |
| Returns a new transform which is the same as this one followed by a translation. | |
| AffineTransform | withAbsoluteTranslation (float translationX, float translationY) const noexcept |
| Returns a copy of this transform with the specified translation matrix values. | |
| AffineTransform | rotated (float angleInRadians) const noexcept |
| Returns a transform which is the same as this one followed by a rotation. | |
| 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. | |
| AffineTransform | scaled (float factorX, float factorY) const noexcept |
| Returns a transform which is the same as this one followed by a re-scaling. | |
| AffineTransform | scaled (float factor) const noexcept |
| Returns a transform which is the same as this one followed by a re-scaling. | |
| 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 re-scaling. | |
| AffineTransform | sheared (float shearX, float shearY) const noexcept |
| Returns a transform which is the same as this one followed by a shear. | |
| AffineTransform | inverted () const noexcept |
| Returns a matrix which is the inverse operation of this one. | |
| AffineTransform | followedBy (const AffineTransform &other) const noexcept |
| Returns the result of concatenating another transformation after this one. | |
| bool | isIdentity () const noexcept |
| Returns true if this transform has no effect on points. | |
| bool | isSingularity () const noexcept |
| Returns true if this transform maps to a singularity - i.e. | |
| bool | isOnlyTranslation () const noexcept |
| Returns true if the transform only translates, and doesn't scale or rotate the points. | |
| float | getTranslationX () const noexcept |
| If this transform is only a translation, this returns the X offset. | |
| float | getTranslationY () const noexcept |
| If this transform is only a translation, this returns the X offset. | |
| float | getDeterminant () const noexcept |
| Returns the determinant of the transform. | |
Static Public Member Functions | |
| static AffineTransform | translation (float deltaX, float deltaY) noexcept |
| Returns a new transform which is a translation. | |
| template<typename PointType > | |
| static AffineTransform | translation (PointType delta) noexcept |
| Returns a new transform which is a translation. | |
| static AffineTransform | rotation (float angleInRadians) noexcept |
| Returns a new transform which is a rotation about (0, 0). | |
| static AffineTransform | rotation (float angleInRadians, float pivotX, float pivotY) noexcept |
| Returns a new transform which is a rotation about a given point. | |
| static AffineTransform | scale (float factorX, float factorY) noexcept |
| Returns a new transform which is a re-scale about the origin. | |
| static AffineTransform | scale (float factor) noexcept |
| Returns a new transform which is a re-scale about the origin. | |
| static AffineTransform | scale (float factorX, float factorY, float pivotX, float pivotY) noexcept |
| Returns a new transform which is a re-scale centred around the point provided. | |
| static AffineTransform | shear (float shearX, float shearY) noexcept |
| Returns a shear transform, centred around the origin (0, 0). | |
| static AffineTransform | verticalFlip (float height) noexcept |
| Returns a transform that will flip coordinates vertically within a window of the given height. | |
| 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. | |
| 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. | |
| template<typename PointType > | |
| static AffineTransform | fromTargetPoints (PointType source1, PointType target1, PointType source2, PointType target2, PointType source3, PointType target3) noexcept |
| Returns the transform that will map three specified points onto three target points. | |
Public Attributes | |
| float | mat00 |
| float | mat01 |
| float | mat02 |
| float | mat10 |
| float | mat11 |
| float | mat12 |
Represents a 2D affine-transformation 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.
@tags{Graphics}
Definition at line 42 of file juce_AffineTransform.h.
|
noexcept |
Creates a transform from a set of raw matrix values.
The resulting matrix is:
(mat00 mat01 mat02) (mat10 mat11 mat12) ( 0 0 1 )
Definition at line 29 of file juce_AffineTransform.cpp.
|
noexcept |
Returns the result of concatenating another transformation after this one.
Definition at line 60 of file juce_AffineTransform.cpp.
|
staticnoexcept |
Returns the transform that will map three specified points onto three target points.
Definition at line 216 of file juce_AffineTransform.cpp.
|
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).
Definition at line 208 of file juce_AffineTransform.cpp.
|
staticnoexcept |
Returns the transform that will map three specified points onto three target points.
Definition at line 233 of file juce_AffineTransform.h.
|
noexcept |
Returns the determinant of the transform.
Definition at line 233 of file juce_AffineTransform.cpp.
|
noexcept |
If this transform is only a translation, this returns the X offset.
Definition at line 259 of file juce_AffineTransform.h.
|
noexcept |
If this transform is only a translation, this returns the X offset.
Definition at line 264 of file juce_AffineTransform.h.
|
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.
Definition at line 182 of file juce_AffineTransform.cpp.
|
noexcept |
Returns true if this transform has no effect on points.
Definition at line 52 of file juce_AffineTransform.cpp.
|
noexcept |
Returns true if the transform only translates, and doesn't scale or rotate the points.
Definition at line 225 of file juce_AffineTransform.cpp.
|
noexcept |
Returns true if this transform maps to a singularity - i.e.
if it has no inverse.
Definition at line 203 of file juce_AffineTransform.cpp.
|
noexcept |
Compares two transforms.
Definition at line 46 of file juce_AffineTransform.cpp.
|
noexcept |
Compares two transforms.
Definition at line 36 of file juce_AffineTransform.cpp.
|
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).
Definition at line 88 of file juce_AffineTransform.cpp.
|
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.
Definition at line 119 of file juce_AffineTransform.cpp.
|
staticnoexcept |
Returns a new transform which is a rotation about (0, 0).
Definition at line 101 of file juce_AffineTransform.cpp.
|
staticnoexcept |
Returns a new transform which is a rotation about a given point.
Definition at line 110 of file juce_AffineTransform.cpp.
|
staticnoexcept |
Returns a new transform which is a re-scale about the origin.
Definition at line 141 of file juce_AffineTransform.cpp.
|
staticnoexcept |
Returns a new transform which is a re-scale about the origin.
Definition at line 136 of file juce_AffineTransform.cpp.
|
staticnoexcept |
Returns a new transform which is a re-scale centred around the point provided.
Definition at line 153 of file juce_AffineTransform.cpp.
|
noexcept |
Returns a transform which is the same as this one followed by a re-scaling.
The scaling is centred around the origin (0, 0).
Definition at line 130 of file juce_AffineTransform.cpp.
|
noexcept |
Returns a transform which is the same as this one followed by a re-scaling.
The scaling is centred around the origin (0, 0).
Definition at line 124 of file juce_AffineTransform.cpp.
|
noexcept |
Returns a transform which is the same as this one followed by a re-scaling.
The scaling is centred around the origin provided.
Definition at line 146 of file juce_AffineTransform.cpp.
|
staticnoexcept |
Returns a shear transform, centred around the origin (0, 0).
Definition at line 160 of file juce_AffineTransform.cpp.
|
noexcept |
Returns a transform which is the same as this one followed by a shear.
The shear is centred around the origin (0, 0).
Definition at line 166 of file juce_AffineTransform.cpp.
|
noexcept |
Transforms a 2D coordinate using this matrix.
Definition at line 75 of file juce_AffineTransform.h.
|
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).
Definition at line 88 of file juce_AffineTransform.h.
|
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).
Definition at line 104 of file juce_AffineTransform.h.
|
noexcept |
Returns a new transform which is the same as this one followed by a translation.
Definition at line 70 of file juce_AffineTransform.cpp.
|
noexcept |
Returns a new transform which is the same as this one followed by a translation.
Definition at line 124 of file juce_AffineTransform.h.
|
staticnoexcept |
Returns a new transform which is a translation.
Definition at line 76 of file juce_AffineTransform.cpp.
|
staticnoexcept |
Returns a new transform which is a translation.
Definition at line 135 of file juce_AffineTransform.h.
|
staticnoexcept |
Returns a transform that will flip coordinates vertically within a window of the given height.
This is handy for converting between upside-down coordinate systems such as OpenGL or CoreGraphics.
Definition at line 176 of file juce_AffineTransform.cpp.
|
noexcept |
Returns a copy of this transform with the specified translation matrix values.
Definition at line 82 of file juce_AffineTransform.cpp.
| float juce::AffineTransform::mat00 |
Definition at line 299 of file juce_AffineTransform.h.
| float juce::AffineTransform::mat01 |
Definition at line 299 of file juce_AffineTransform.h.
| float juce::AffineTransform::mat02 |
Definition at line 299 of file juce_AffineTransform.h.
| float juce::AffineTransform::mat10 |
Definition at line 300 of file juce_AffineTransform.h.
| float juce::AffineTransform::mat11 |
Definition at line 300 of file juce_AffineTransform.h.
| float juce::AffineTransform::mat12 |
Definition at line 300 of file juce_AffineTransform.h.