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

lti::hMatrix3D< T > Class Template Reference

Homogeneous matrix in 3D projective space. More...

#include <ltiHTypes.h>

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

List of all members.

Public Member Functions

 hMatrix3D ()
 hMatrix3D (const hMatrix3D< T > &other)
 hMatrix3D (const hMatrix2D< T > &other)
 hMatrix3D (const matrix< T > &other)
virtual ~hMatrix3D ()
hMatrix3D< T > & multiply (const hMatrix3D< T > &other)
hMatrix3D< T > & multiply (const hMatrix3D< T > &a, const hMatrix3D< T > &b)
hMatrix3D< T > operator* (const hMatrix3D< T > &other)
hMatrix3D< T > & operator*= (const hMatrix3D< T > &other)
hPoint3D< T > & multiply (const hPoint3D< T > &other, hPoint3D< T > &result) const
hPoint3D< T > operator* (const hPoint3D< T > &p) const
tpoint3D< T > & multiply (const tpoint3D< T > &other, tpoint3D< T > &result) const
tpoint3D< T > operator* (const tpoint3D< T > &p) const
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::hMatrix3D< T >

Homogeneous matrix in 3D projective space.

The three-dimensional transformations are represented by 4x4 matrices of the form:

\[\begin{bmatrix} r_1 & r_2 & r_3 & t_x \\ r_4 & r_5 & r_6 & t_y \\ r_7 & r_8 & r_9 & t_z \\ 0 & 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::hMatrix3D< T >::hMatrix3D (  ) 

default constructor

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

copy constructor

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

copy constructor

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

copy constructor

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

destructor


Member Function Documentation

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

multiply with a point (assume z=0) and leave the result in the second parameters.

Returns:
a reference to the second parameter
template<class T>
hPoint2D<T>& lti::hMatrix3D< T >::multiply ( const hPoint2D< T > &  other,
hPoint2D< T > &  result 
) const

multiply with a point (assume z=0) and leave the result in the second parameter.

Return a reference to the second parameters

template<class T>
tpoint3D<T>& lti::hMatrix3D< T >::multiply ( const tpoint3D< T > &  other,
tpoint3D< 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>
hPoint3D<T>& lti::hMatrix3D< T >::multiply ( const hPoint3D< T > &  other,
hPoint3D< 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, hPoint3D< T > >.

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

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

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

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

Referenced by lti::hMatrix3D< float >::multiply(), lti::hMatrix3D< float >::operator*(), and lti::hMatrix3D< float >::operator*=().

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

multiply with a point (assume z=0)

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

multiply with a point (assume z=0).

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

multiply with a point

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

multiply with a point

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

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

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

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

alias for 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