LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::hMatrix2D< T > Class Template Reference

Homogeneous matrix to represent linear transformations in a two-dimensional projective space. More...

#include <ltiHTypes.h>

Inheritance diagram for lti::hMatrix2D< T >:
Inheritance graph
[legend]
Collaboration diagram for lti::hMatrix2D< T >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 hMatrix2D ()
 hMatrix2D (const hMatrix2D< T > &other)
 hMatrix2D (const matrix< T > &other)
virtual ~hMatrix2D ()
hMatrix2D< T > & multiply (const hMatrix2D< T > &other)
hMatrix2D< T > & multiply (const hMatrix2D< T > &a, const hMatrix2D< T > &b)
hMatrix2D< T > operator* (const hMatrix2D< T > &other) const
hMatrix2D< T > & operator*= (const hMatrix2D< T > &other)
hPoint2D< T > & multiply (const hPoint2D< T > &other, hPoint2D< T > &result) const
hPoint2D< T > operator* (const hPoint2D< T > &p) const
tpoint< T > & multiply (const tpoint< T > &other, tpoint< T > &result) const
tpoint< T > operator* (const tpoint< T > &p) const

Detailed Description

template<class T>
class lti::hMatrix2D< T >

Homogeneous matrix to represent linear transformations in a two-dimensional projective space.

The two-dimensional transformations are represented by 3x3 matrices of the form:

\[\begin{bmatrix} r_1 & r_2 & t_x \\ r_3 & r_4 & t_y \\ 0 & 0 & 1 \end{bmatrix}\]

where the terms $r_i$ represent a rotation and scaling and the terms $t_\zeta$ the translation.


Constructor & Destructor Documentation

template<class T>
lti::hMatrix2D< T >::hMatrix2D (  ) 

Default constructor.

template<class T>
lti::hMatrix2D< T >::hMatrix2D ( const hMatrix2D< T > &  other  ) 

Copy constructor.

template<class T>
lti::hMatrix2D< T >::hMatrix2D ( const matrix< T > &  other  ) 

Copy constructor.

template<class T>
virtual lti::hMatrix2D< T >::~hMatrix2D (  )  [virtual]

Destructor.


Member Function Documentation

template<class T>
tpoint<T>& lti::hMatrix2D< T >::multiply ( const tpoint< T > &  other,
tpoint< T > &  result 
) const

Multiply with a point and leave the result in the second parameters.

Return a reference to the second parameters

template<class T>
hPoint2D<T>& lti::hMatrix2D< T >::multiply ( const hPoint2D< T > &  other,
hPoint2D< T > &  result 
) const [inline]

Multiply with a point and leave the result in the second parameters.

Return a reference to the second parameters

Reimplemented from lti::hMatrix< T, hPoint2D< T > >.

References lti::hMatrix2D< T >::multiply().

template<class T>
hMatrix2D<T>& lti::hMatrix2D< T >::multiply ( const hMatrix2D< T > &  a,
const hMatrix2D< T > &  b 
) [inline]

Multiply the matrices a and b and leave the result here.

References lti::hMatrix2D< T >::multiply().

template<class T>
hMatrix2D<T>& lti::hMatrix2D< T >::multiply ( const hMatrix2D< T > &  other  )  [inline]

Multiply this matrix with another homogeneous matrix and leave the result here.

Referenced by lti::hMatrix2D< T >::multiply(), lti::hMatrix2D< T >::operator*(), and lti::hMatrix2D< T >::operator*=().

template<class T>
tpoint<T> lti::hMatrix2D< T >::operator* ( const tpoint< T > &  p  )  const [inline]

Multiply with a point.

References lti::hMatrix2D< T >::multiply().

template<class T>
hPoint2D<T> lti::hMatrix2D< T >::operator* ( const hPoint2D< T > &  p  )  const [inline]

Multiply with a point.

Reimplemented from lti::hMatrix< T, hPoint2D< T > >.

References lti::hMatrix2D< T >::multiply().

template<class T>
hMatrix2D<T> lti::hMatrix2D< T >::operator* ( const hMatrix2D< T > &  other  )  const [inline]

Return a new object which is the result of multiplying this matrix with the other one.

References lti::hMatrix2D< T >::multiply().

template<class T>
hMatrix2D<T>& lti::hMatrix2D< T >::operator*= ( const hMatrix2D< T > &  other  )  [inline]

Alias for multiply.

References lti::hMatrix2D< T >::multiply().


The documentation for this class was generated from the following file:

Generated on Sat Apr 10 15:27:26 2010 for LTI-Lib by Doxygen 1.6.1