affinematrix2d.h

Clase wxAffineMatrix2DBase

Una matriz 2x3 que representa una transformación afín 2D.

Jerarquía:

Jerarquía de la clase wxAffineMatrix2DBase

Esta es una clase base abstracta implementada por wxAffineMatrix2D sólo hasta ahora, pero en el futuro también planeamos derivar wxGraphicsMatrix de ella.

Funciones miembro

wxAffineMatrix2DBase()

wxAffineMatrix2DBase::wxAffineMatrix2DBase()

Constructor por defecto.

Los elementos de la matriz se inicializan a la matriz identidad.

~wxAffineMatrix2DBase()

virtual wxAffineMatrix2DBase::~wxAffineMatrix2DBase()

Destructor.

Concat()

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

Concatena esta matriz con otra.

La matriz parámetro es el multiplicando.

Parámetros
t
El multiplicando.
//           | 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 |

Implementado en wxAffineMatrix2D.

Get()

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

Obtiene los valores de los componentes de la matriz.

Parámetros
mat2D
Los componentes rotacionales de la matriz (superior 2 x 2), debe ser no nulo.
tr
Los componentes traslacionales de la matriz, pueden ser nullptr.

Implementado en wxAffineMatrix2D.

Invert()

virtual bool wxAffineMatrix2DBase::Invert()

Invierte esta matriz.

Si la matriz no es invertible, es decir, si su determinante es 0, devuelve false y no la modifica.

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

Implementado en wxAffineMatrix2D.

IsEqual()

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

Comprueba que esta matriz es idéntica a t.

Parámetros
t
La matriz comparada con esta.
IsIdentity()

virtual bool wxAffineMatrix2DBase::IsIdentity() const

Comprueba si es la matriz identidad.

Implementado en wxAffineMatrix2D.

Mirror()

void wxAffineMatrix2DBase::Mirror(int direction = wxHORIZONTAL)

Añade reflejo a esta matriz.

Parámetros
direction
Dirección(es) utilizada(s) para el reflejo. Una de wxHORIZONTAL, wxVERTICAL o su combinación wxBOTH.
Rotate()

virtual void wxAffineMatrix2DBase::Rotate(wxDouble cRadians)

Añade rotación en el sentido de las agujas del reloj a esta matriz.

Parámetros
cRadians
Ángulo de rotación en radianes, en el sentido de las agujas del reloj.

Implementado en wxAffineMatrix2D.

Scale()

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

Añade escala a esta matriz.

Parámetros
xScale
Escalado en dirección x.
yScale
Escalado en dirección y.

Implementado en wxAffineMatrix2D.

Set()

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

Establece todos los elementos de esta matriz.

Parámetros
mat2D
Los componentes rotacionales de la matriz (superior 2 x 2).
tr
Componentes traslacionales de la matriz.

Implementado en wxAffineMatrix2D.

TransformDistance()

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

Aplica la parte lineal de esta matriz, es decir, sin traslación.

Parámetros
p
La fuente que recibe las transformaciones.
Valor de retorno

La fuente con las transformaciones aplicadas.

TransformDistance()

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

TransformPoint()

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

Aplica esta matriz al punto.

Parámetros
p
El punto que recibe las transformaciones.
Valor de retorno

El punto con las transformaciones aplicadas.

TransformPoint()

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

Translate()

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

Añade la traslación a esta matriz.

Parámetros
dx
La traslación en dirección x.
dy
La traslación en dirección y.

Implementado en wxAffineMatrix2D.

Operadores

operator!=()

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

Comprueba que esta matriz difiere de t.

Parámetros
t
La matriz comparada con esta.
operator==()

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

Comprueba que esta matriz es idéntica a t.

Parámetros
t
La matriz comparada con esta.