#include <wx/affinematrix2d.h>
A 3x2 matrix representing an affine 2D transformation.
Public Member Functions | |
wxAffineMatrix2D () | |
Default constructor. | |
void | Get (wxMatrix2D *mat2D, wxPoint2DDouble *tr) const |
Get the component values of the matrix. | |
void | Set (const wxMatrix2D &mat2D, const wxPoint2DDouble &tr) |
Set all elements of this matrix. | |
void | Concat (const wxAffineMatrix2DBase &t) |
Concatenate this matrix with another one. | |
bool | Invert () |
Invert this matrix. | |
bool | IsIdentity () const |
Check if this is the identity matrix. | |
bool | operator!= (const wxAffineMatrix2DBase &t) const |
Check that this matrix differs from t. | |
void | Translate (wxDouble dx, wxDouble dy) |
Add the translation to this matrix. | |
void | Scale (wxDouble xScale, wxDouble yScale) |
Add scaling to this matrix. | |
void | Mirror (int direction=wxHORIZONTAL) |
Add mirroring to this matrix. | |
void | Rotate (wxDouble cRadians) |
Add clockwise rotation to this matrix. | |
wxPoint2DDouble | TransformPoint (const wxPoint2DDouble &p) const |
Applies this matrix to the point. | |
void | TransformPoint (wxDouble *x, wxDouble *y) const |
wxPoint2DDouble | TransformDistance (const wxPoint2DDouble &p) const |
Applies the linear part of this matrix, i.e. without translation. | |
void | TransformDistance (wxDouble *dx, wxDouble *dy) const |
void | IsEqual (const wxAffineMatrix2DBase &t) |
Check that this matrix is identical with t. | |
bool | operator== (const wxAffineMatrix2DBase &t) const |
Check that this matrix is identical with t. | |
Public Member Functions inherited from wxAffineMatrix2DBase | |
wxAffineMatrix2DBase () | |
Default constructor. | |
virtual | ~wxAffineMatrix2DBase () |
bool | operator!= (const wxAffineMatrix2DBase &t) const |
Check that this matrix differs from t. | |
void | Mirror (int direction=wxHORIZONTAL) |
Add mirroring to this matrix. | |
wxPoint2DDouble | TransformPoint (const wxPoint2DDouble &p) const |
Applies this matrix to the point. | |
void | TransformPoint (wxDouble *x, wxDouble *y) const |
wxPoint2DDouble | TransformDistance (const wxPoint2DDouble &p) const |
Applies the linear part of this matrix, i.e. without translation. | |
void | TransformDistance (wxDouble *dx, wxDouble *dy) const |
virtual bool | IsEqual (const wxAffineMatrix2DBase &t) const =0 |
Check that this matrix is identical with t. | |
bool | operator== (const wxAffineMatrix2DBase &t) const |
Check that this matrix is identical with t. | |
wxAffineMatrix2D::wxAffineMatrix2D | ( | ) |
Default constructor.
The matrix elements are initialize to the identity matrix.
|
virtual |
Concatenate this matrix with another one.
The parameter matrix is the multiplicand.
t | The multiplicand. |
Implements wxAffineMatrix2DBase.
|
virtual |
Get the component values of the matrix.
mat2D | The rotational components of the matrix (upper 2 x 2), must be non-NULL. |
tr | The translational components of the matrix, may be NULL. |
Implements wxAffineMatrix2DBase.
|
virtual |
Invert this matrix.
If the matrix is not invertible, i.e. if its determinant is 0, returns false and doesn't modify it.
Implements wxAffineMatrix2DBase.
void wxAffineMatrix2D::IsEqual | ( | const wxAffineMatrix2DBase & | t | ) |
Check that this matrix is identical with t.
t | The matrix compared with this. |
|
virtual |
Check if this is the identity matrix.
Implements wxAffineMatrix2DBase.
void wxAffineMatrix2D::Mirror | ( | int | direction = wxHORIZONTAL | ) |
Add mirroring to this matrix.
direction | The direction(s) used for mirroring. One of wxHORIZONTAL, wxVERTICAL or their combination wxBOTH. |
bool wxAffineMatrix2D::operator!= | ( | const wxAffineMatrix2DBase & | t | ) | const |
Check that this matrix differs from t.
t | The matrix compared with this. |
bool wxAffineMatrix2D::operator== | ( | const wxAffineMatrix2DBase & | t | ) | const |
Check that this matrix is identical with t.
t | The matrix compared with this. |
|
virtual |
Add clockwise rotation to this matrix.
cRadians | Rotation angle in radians, clockwise. |
Implements wxAffineMatrix2DBase.
Add scaling to this matrix.
xScale | Scaling in x direction. |
yScale | Scaling in y direction. |
Implements wxAffineMatrix2DBase.
|
virtual |
Set all elements of this matrix.
mat2D | The rotational components of the matrix (upper 2 x 2). |
tr | The translational components of the matrix. |
Implements wxAffineMatrix2DBase.
wxPoint2DDouble wxAffineMatrix2D::TransformDistance | ( | const wxPoint2DDouble & | p | ) | const |
Applies the linear part of this matrix, i.e. without translation.
p | The source receiving the transformations. |
wxPoint2DDouble wxAffineMatrix2D::TransformPoint | ( | const wxPoint2DDouble & | p | ) | const |
Applies this matrix to the point.
p | The point receiving the transformations. |
Add the translation to this matrix.
dx | The translation in x direction. |
dy | The translation in y direction. |
Implements wxAffineMatrix2DBase.