| Version: 3.3.1

Public Member Functions | List of all members
wxAffineMatrix2DBase Class Referenceabstract
Class List by Category » Miscellaneous

`#include <wx/affinematrix2dbase.h>`

Inheritance diagram for wxAffineMatrix2DBase:
[legend]

## Detailed Description

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.

##

Library: wxCore
Category: Miscellaneous

Since
  2.9.2

## 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...

## Constructor & Destructor Documentation

## ◆ wxAffineMatrix2DBase()

wxAffineMatrix2DBase::wxAffineMatrix2DBase | ( |  | ) |

Default constructor.

The matrix elements are initialize to the identity matrix.

## ◆ ~wxAffineMatrix2DBase()

virtual wxAffineMatrix2DBase::~wxAffineMatrix2DBase | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ Concat()

virtual void wxAffineMatrix2DBase::Concat | ( | const wxAffineMatrix2DBase & | t | ) |
| pure virtual

Concatenate this matrix with another one.

The parameter matrix is the multiplicand.

Parameters

  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 |

Implemented in wxAffineMatrix2D.

## ◆ Get()

virtual void wxAffineMatrix2DBase::Get | ( | wxMatrix2D * | mat2D,
|  | wxPoint2DDouble * | tr
| ) |  | const
| pure virtual

Get the component values of the matrix.

Parameters

  mat2D | The rotational components of the matrix (upper 2 x 2), must be non-null.
  tr | The translational components of the matrix, may be nullptr.

Implemented in wxAffineMatrix2D.

## ◆ Invert()

virtual bool wxAffineMatrix2DBase::Invert | ( |  | ) |
| 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.

// | m_11 m_12 0 |
// Invert | m_21 m_22 0 |
// | m_tx m_ty 1 |

Implemented in wxAffineMatrix2D.

## ◆ IsEqual()

virtual bool wxAffineMatrix2DBase::IsEqual | ( | const wxAffineMatrix2DBase & | t | ) | const
| pure virtual

Check that this matrix is identical with t.

Parameters

  t | The matrix compared with this.

## ◆ IsIdentity()

virtual bool wxAffineMatrix2DBase::IsIdentity | ( |  | ) | const
| pure virtual

Check if this is the identity matrix.

Implemented in wxAffineMatrix2D.

## ◆ Mirror()

void wxAffineMatrix2DBase::Mirror | ( | int | direction = `wxHORIZONTAL` | ) |

Add mirroring to this matrix.

Parameters

  direction | The direction(s) used for mirroring. One of wxHORIZONTAL, wxVERTICAL or their combination wxBOTH.

## ◆ operator!=()

bool wxAffineMatrix2DBase::operator!= | ( | const wxAffineMatrix2DBase & | t | ) | const

Check that this matrix differs from t.

Parameters

  t | The matrix compared with this.

## ◆ operator==()

bool wxAffineMatrix2DBase::operator== | ( | const wxAffineMatrix2DBase & | t | ) | const

Check that this matrix is identical with t.

Parameters

  t | The matrix compared with this.

## ◆ Rotate()

virtual void wxAffineMatrix2DBase::Rotate | ( | wxDouble | cRadians | ) |
| pure virtual

Add clockwise rotation to this matrix.

Parameters

  cRadians | Rotation angle in radians, clockwise.

Implemented in wxAffineMatrix2D.

## ◆ Scale()

virtual void wxAffineMatrix2DBase::Scale | ( | wxDouble | xScale,
|  | wxDouble | yScale
| ) |  |
| pure virtual

Add scaling to this matrix.

Parameters

  xScale | Scaling in x direction.
  yScale | Scaling in y direction.

Implemented in wxAffineMatrix2D.

## ◆ Set()

virtual void wxAffineMatrix2DBase::Set | ( | const wxMatrix2D & | mat2D,
|  | const wxPoint2DDouble & | tr
| ) |  |
| pure virtual

Set all elements of this matrix.

Parameters

  mat2D | The rotational components of the matrix (upper 2 x 2).
  tr | The translational components of the matrix.

Implemented in wxAffineMatrix2D.

## ◆ TransformDistance() [1/2]

wxPoint2DDouble wxAffineMatrix2DBase::TransformDistance | ( | const wxPoint2DDouble & | p | ) | const

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

Parameters

  p | The source receiving the transformations.

Returns
  The source with the transformations applied.

## ◆ TransformDistance() [2/2]

void wxAffineMatrix2DBase::TransformDistance | ( | wxDouble * | dx,
|  | wxDouble * | dy
| ) |  | const

## ◆ TransformPoint() [1/2]

wxPoint2DDouble wxAffineMatrix2DBase::TransformPoint | ( | const wxPoint2DDouble & | p | ) | const

Applies this matrix to the point.

Parameters

  p | The point receiving the transformations.

Returns
  The point with the transformations applied.

## ◆ TransformPoint() [2/2]

void wxAffineMatrix2DBase::TransformPoint | ( | wxDouble * | x,
|  | wxDouble * | y
| ) |  | const

## ◆ Translate()

virtual void wxAffineMatrix2DBase::Translate | ( | wxDouble | dx,
|  | wxDouble | dy
| ) |  |
| pure virtual

Add the translation to this matrix.

Parameters

  dx | The translation in x direction.
  dy | The translation in y direction.

Implemented in wxAffineMatrix2D.