#include <wx/affinematrix2dbase.h>
A 2x3 matrix representing an affine 2D transformation.
This is an abstract base class implemented by wxAffineMatrix2D only so far, but in the future we also plan to derive wxGraphicsMatrix from it.
Public Member Functions | |
wxAffineMatrix2DBase () | |
Default constructor. More... | |
virtual | ~wxAffineMatrix2DBase () |
virtual void | Set (const wxMatrix2D &mat2D, const wxPoint2DDouble &tr)=0 |
Set all elements of this matrix. More... | |
virtual void | Get (wxMatrix2D *mat2D, wxPoint2DDouble *tr) const =0 |
Get the component values of the matrix. More... | |
virtual void | Concat (const wxAffineMatrix2DBase &t)=0 |
Concatenate this matrix with another one. More... | |
virtual bool | Invert ()=0 |
Invert this matrix. More... | |
virtual bool | IsIdentity () const =0 |
Check if this is the identity matrix. More... | |
bool | operator!= (const wxAffineMatrix2DBase &t) const |
Check that this matrix differs from t. More... | |
virtual void | Translate (wxDouble dx, wxDouble dy)=0 |
Add the translation to this matrix. More... | |
virtual void | Scale (wxDouble xScale, wxDouble yScale)=0 |
Add scaling to this matrix. More... | |
virtual void | Rotate (wxDouble cRadians)=0 |
Add clockwise rotation to this matrix. More... | |
void | Mirror (int direction=wxHORIZONTAL) |
Add mirroring to this matrix. More... | |
wxPoint2DDouble | TransformPoint (const wxPoint2DDouble &p) const |
Applies this matrix to the point. More... | |
void | TransformPoint (wxDouble *x, wxDouble *y) const |
wxPoint2DDouble | TransformDistance (const wxPoint2DDouble &p) const |
Applies the linear part of this matrix, i.e. without translation. More... | |
void | TransformDistance (wxDouble *dx, wxDouble *dy) const |
virtual bool | IsEqual (const wxAffineMatrix2DBase &t) const =0 |
Check that this matrix is identical with t. More... | |
bool | operator== (const wxAffineMatrix2DBase &t) const |
Check that this matrix is identical with t. More... | |
wxAffineMatrix2DBase::wxAffineMatrix2DBase | ( | ) |
Default constructor.
The matrix elements are initialize to the identity matrix.
|
virtual |
|
pure virtual |
Concatenate this matrix with another one.
The parameter matrix is the multiplicand.
t | The multiplicand. |
Implemented in wxAffineMatrix2D.
|
pure 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. |
Implemented in wxAffineMatrix2D.
|
pure virtual |
Invert this matrix.
If the matrix is not invertible, i.e. if its determinant is 0, returns false and doesn't modify it.
Implemented in wxAffineMatrix2D.
|
pure virtual |
Check that this matrix is identical with t.
t | The matrix compared with this. |
|
pure virtual |
Check if this is the identity matrix.
Implemented in wxAffineMatrix2D.
void wxAffineMatrix2DBase::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 wxAffineMatrix2DBase::operator!= | ( | const wxAffineMatrix2DBase & | t | ) | const |
Check that this matrix differs from t.
t | The matrix compared with this. |
bool wxAffineMatrix2DBase::operator== | ( | const wxAffineMatrix2DBase & | t | ) | const |
Check that this matrix is identical with t.
t | The matrix compared with this. |
|
pure virtual |
Add clockwise rotation to this matrix.
cRadians | Rotation angle in radians, clockwise. |
Implemented in wxAffineMatrix2D.
Add scaling to this matrix.
xScale | Scaling in x direction. |
yScale | Scaling in y direction. |
Implemented in wxAffineMatrix2D.
|
pure 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. |
Implemented in wxAffineMatrix2D.
wxPoint2DDouble wxAffineMatrix2DBase::TransformDistance | ( | const wxPoint2DDouble & | p | ) | const |
Applies the linear part of this matrix, i.e. without translation.
p | The source receiving the transformations. |
wxPoint2DDouble wxAffineMatrix2DBase::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. |
Implemented in wxAffineMatrix2D.