#include </home/zeitlin/src/wx/github/interface/wx/affinematrix2d.h>
Inheritance diagram for wxAffineMatrix2D: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 . | |
| 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. | |
| void | TransformDistance (wxDouble *dx, wxDouble *dy) const |
| void | IsEqual (const wxAffineMatrix2DBase &t) |
| Check that this matrix is identical with . | |
| bool | operator== (const wxAffineMatrix2DBase &t) const |
| Check that this matrix is identical with . | |
| wxAffineMatrix2D::wxAffineMatrix2D | ( | ) |
Default constructor.
The matrix elements are initialize to the identity matrix.
| void wxAffineMatrix2D::Concat | ( | const wxAffineMatrix2DBase & | t | ) | [virtual] |
Concatenate this matrix with another one.
The parameter matrix is the multiplicand.
| t | The multiplicand. |
// | t.m_11 t.m_12 0 | | m_11 m_12 0 | // matrix' = | t.m_21 t.m_22 0 | x | m_21 m_22 0 | // | t.m_tx t.m_ty 1 | | m_tx m_ty 1 |
Implements wxAffineMatrix2DBase.
| void wxAffineMatrix2D::Get | ( | wxMatrix2D * | mat2D, |
| wxPoint2DDouble * | tr | ||
| ) | const [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.
| bool wxAffineMatrix2D::Invert | ( | ) | [virtual] |
Invert this matrix.
If the matrix is not invertible, i.e. if its determinant is 0, returns false and doesn't modify it.
// | m_11 m_12 0 | // Invert | m_21 m_22 0 | // | m_tx m_ty 1 |
Implements wxAffineMatrix2DBase.
| void wxAffineMatrix2D::IsEqual | ( | const wxAffineMatrix2DBase & | t | ) |
Check that this matrix is identical with .
| t | The matrix compared with this. |
| bool wxAffineMatrix2D::IsIdentity | ( | ) | const [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. |
Reimplemented from wxAffineMatrix2DBase.
| bool wxAffineMatrix2D::operator!= | ( | const wxAffineMatrix2DBase & | t | ) | const |
Check that this matrix differs from .
| t | The matrix compared with this. |
Reimplemented from wxAffineMatrix2DBase.
| bool wxAffineMatrix2D::operator== | ( | const wxAffineMatrix2DBase & | t | ) | const |
Check that this matrix is identical with .
| t | The matrix compared with this. |
Reimplemented from wxAffineMatrix2DBase.
| void wxAffineMatrix2D::Rotate | ( | wxDouble | cRadians | ) | [virtual] |
Add clockwise rotation to this matrix.
| cRadians | Rotation angle in radians, clockwise. |
// | cos sin 0 | | m_11 m_12 0 | // matrix' = | -sin cos 0 | x | m_21 m_22 0 | // | 0 0 1 | | m_tx m_ty 1 |
Implements wxAffineMatrix2DBase.
Add scaling to this matrix.
| xScale | Scaling in x direction. |
| yScale | Scaling in y direction. |
// | xScale 0 0 | | m_11 m_12 0 | // matrix' = | 0 yScale 0 | x | m_21 m_22 0 | // | 0 0 1 | | m_tx m_ty 1 |
Implements wxAffineMatrix2DBase.
| void wxAffineMatrix2D::Set | ( | const wxMatrix2D & | mat2D, |
| const wxPoint2DDouble & | tr | ||
| ) | [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.
Reimplemented from 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. |
// | m_11 m_12 0 | // dist' = | src.m_x src._my 0 | x | m_21 m_22 0 | // | m_tx m_ty 1 |
Reimplemented from wxAffineMatrix2DBase.
Reimplemented from wxAffineMatrix2DBase.
| wxPoint2DDouble wxAffineMatrix2D::TransformPoint | ( | const wxPoint2DDouble & | p | ) | const |
Applies this matrix to the point.
| p | The point receiving the transformations. |
// | m_11 m_12 0 | // point' = | src.m_x src._my 1 | x | m_21 m_22 0 | // | m_tx m_ty 1 |
Reimplemented from wxAffineMatrix2DBase.
Add the translation to this matrix.
| dx | The translation in x direction. |
| dy | The translation in y direction. |
// | 1 0 0 | | m_11 m_12 0 | // matrix' = | 0 1 0 | x | m_21 m_22 0 | // | dx dy 1 | | m_tx m_ty 1 |
Implements wxAffineMatrix2DBase.