Version: 2.9.4
Public Member Functions
wxAffineMatrix2D Class Reference

#include </home/zeitlin/src/wx/github/interface/wx/affinematrix2d.h>

Inheritance diagram for wxAffineMatrix2D:

Detailed Description

A 3x2 matrix representing an affine 2D transformation.

Library:  wxCore
Category:  Miscellaneous
Since:
2.9.2

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 .

List of all members.


Constructor & Destructor Documentation

wxAffineMatrix2D::wxAffineMatrix2D ( )

Default constructor.

The matrix elements are initialize to the identity matrix.


Member Function Documentation

void wxAffineMatrix2D::Concat ( const wxAffineMatrix2DBase t) [virtual]

Concatenate this matrix with another one.

The parameter matrix is the multiplicand.

Parameters:
tThe 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.

Parameters:
mat2DThe rotational components of the matrix (upper 2 x 2), must be non-NULL.
trThe 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 .

Parameters:
tThe 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.

Parameters:
directionThe 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 .

Parameters:
tThe matrix compared with this.

Reimplemented from wxAffineMatrix2DBase.

bool wxAffineMatrix2D::operator== ( const wxAffineMatrix2DBase t) const

Check that this matrix is identical with .

Parameters:
tThe matrix compared with this.

Reimplemented from wxAffineMatrix2DBase.

void wxAffineMatrix2D::Rotate ( wxDouble  cRadians) [virtual]

Add clockwise rotation to this matrix.

Parameters:
cRadiansRotation 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.

void wxAffineMatrix2D::Scale ( wxDouble  xScale,
wxDouble  yScale 
) [virtual]

Add scaling to this matrix.

Parameters:
xScaleScaling in x direction.
yScaleScaling 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.

Parameters:
mat2DThe rotational components of the matrix (upper 2 x 2).
trThe translational components of the matrix.

Implements wxAffineMatrix2DBase.

void wxAffineMatrix2D::TransformDistance ( wxDouble dx,
wxDouble dy 
) const

Reimplemented from wxAffineMatrix2DBase.

wxPoint2DDouble wxAffineMatrix2D::TransformDistance ( const wxPoint2DDouble p) const

Applies the linear part of this matrix, i.e.

without translation.

Parameters:
pThe source receiving the transformations.
Returns:
The source with the transformations applied.
        //                                   | 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.

void wxAffineMatrix2D::TransformPoint ( wxDouble x,
wxDouble y 
) const

Reimplemented from wxAffineMatrix2DBase.

wxPoint2DDouble wxAffineMatrix2D::TransformPoint ( const wxPoint2DDouble p) const

Applies this matrix to the point.

Parameters:
pThe point receiving the transformations.
Returns:
The point with the transformations applied.
        //                                    | 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.

void wxAffineMatrix2D::Translate ( wxDouble  dx,
wxDouble  dy 
) [virtual]

Add the translation to this matrix.

Parameters:
dxThe translation in x direction.
dyThe 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.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines