Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends

Translation< _Scalar, _Dim > Class Template Reference


Detailed Description

template<typename _Scalar, int _Dim>
class Translation< _Scalar, _Dim >

Represents a translation transformation

Parameters:
_Scalarthe scalar type, i.e., the type of the coefficients.
_Dimthe dimension of the space, can be a compile time value or Dynamic
Note:
This class is not aimed to be used to store a translation transformation, but rather to make easier the constructions and updates of Transform objects.
See also:
class Scaling, class Transform

Definition at line 43 of file Translation.h.

#include <src/Geometry/Translation.h>

List of all members.

Public Types

enum  { Dim = _Dim }
 

dimension of the space

More...
typedef _Scalar Scalar
 the scalar type of the coefficients
typedef Matrix< Scalar, Dim, 1 > VectorType
 corresponding vector type
typedef Matrix< Scalar, Dim, Dim > LinearMatrixType
 corresponding linear transformation matrix type
typedef Transform< Scalar, Dim,
Affine > 
AffineTransformType
 corresponding affine transformation type

Public Member Functions

 Translation ()
 Default constructor without initialization.
 Translation (const Scalar &sx, const Scalar &sy)
 Translation (const Scalar &sx, const Scalar &sy, const Scalar &sz)
 Translation (const VectorType &vector)
 Constructs and initialize the translation transformation from a vector of translation coefficients.
Scalar x () const
 Retruns the x-translation by value.
Scalar y () const
 Retruns the y-translation by value.
Scalar z () const
 Retruns the z-translation by value.
Scalarx ()
 Retruns the x-translation as a reference.
Scalary ()
 Retruns the y-translation as a reference.
Scalarz ()
 Retruns the z-translation as a reference.
const VectorTypevector () const
VectorTypevector ()
const VectorTypetranslation () const
VectorTypetranslation ()
Translation operator* (const Translation &other) const
 Concatenates two translation.
AffineTransformType operator* (const UniformScaling< Scalar > &other) const
 Concatenates a translation and a uniform scaling.
template<typename OtherDerived >
AffineTransformType operator* (const EigenBase< OtherDerived > &linear) const
 Concatenates a translation and a linear transformation.
template<typename Derived >
AffineTransformType operator* (const RotationBase< Derived, Dim > &r) const
 Concatenates a translation and a rotation.
template<int Mode>
Transform< Scalar, Dim, Mode > operator* (const Transform< Scalar, Dim, Mode > &t) const
 Concatenates a translation and a transformation.
VectorType operator* (const VectorType &other) const
 Applies translation to vector.
Translation inverse () const
Translationoperator= (const Translation &other)
template<typename NewScalarType >
internal::cast_return_type
< Translation, Translation
< NewScalarType, Dim > >::type 
cast () const
template<typename OtherScalarType >
 Translation (const Translation< OtherScalarType, Dim > &other)
 Copy constructor with scalar type conversion.
bool isApprox (const Translation &other, typename NumTraits< Scalar >::Real prec=NumTraits< Scalar >::dummy_precision()) const

Static Public Member Functions

static const Translation Identity ()

Protected Attributes

VectorType m_coeffs

Friends

template<typename OtherDerived >
AffineTransformType operator* (const EigenBase< OtherDerived > &linear, const Translation &t)

Member Typedef Documentation

template<typename _Scalar, int _Dim>
typedef Transform<Scalar,Dim,Affine> Translation< _Scalar, _Dim >::AffineTransformType

corresponding affine transformation type

Definition at line 56 of file Translation.h.

template<typename _Scalar, int _Dim>
typedef Matrix<Scalar,Dim,Dim> Translation< _Scalar, _Dim >::LinearMatrixType

corresponding linear transformation matrix type

Definition at line 54 of file Translation.h.

template<typename _Scalar, int _Dim>
typedef _Scalar Translation< _Scalar, _Dim >::Scalar

the scalar type of the coefficients

Definition at line 50 of file Translation.h.

template<typename _Scalar, int _Dim>
typedef Matrix<Scalar,Dim,1> Translation< _Scalar, _Dim >::VectorType

corresponding vector type

Definition at line 52 of file Translation.h.


Member Enumeration Documentation

template<typename _Scalar, int _Dim>
anonymous enum

dimension of the space

Enumerator:
Dim 

Definition at line 48 of file Translation.h.


Constructor & Destructor Documentation

template<typename _Scalar, int _Dim>
Translation< _Scalar, _Dim >::Translation ( ) [inline]

Default constructor without initialization.

Definition at line 65 of file Translation.h.

Referenced by Translation< _Scalar, _Dim >::Identity(), Translation< _Scalar, _Dim >::inverse(), and Translation< _Scalar, _Dim >::operator*().

template<typename _Scalar, int _Dim>
Translation< _Scalar, _Dim >::Translation ( const Scalar sx,
const Scalar sy 
) [inline]
template<typename _Scalar, int _Dim>
Translation< _Scalar, _Dim >::Translation ( const Scalar sx,
const Scalar sy,
const Scalar sz 
) [inline]
template<typename _Scalar, int _Dim>
Translation< _Scalar, _Dim >::Translation ( const VectorType vector) [inline, explicit]

Constructs and initialize the translation transformation from a vector of translation coefficients.

Definition at line 82 of file Translation.h.

template<typename _Scalar, int _Dim>
template<typename OtherScalarType >
Translation< _Scalar, _Dim >::Translation ( const Translation< OtherScalarType, Dim > &  other) [inline, explicit]

Copy constructor with scalar type conversion.

Definition at line 169 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs, and Translation< _Scalar, _Dim >::vector().


Member Function Documentation

template<typename _Scalar, int _Dim>
template<typename NewScalarType >
internal::cast_return_type<Translation,Translation<NewScalarType,Dim> >::type Translation< _Scalar, _Dim >::cast ( ) const [inline]
Returns:
*this with scalar type casted to NewScalarType

Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.

Definition at line 164 of file Translation.h.

template<typename _Scalar, int _Dim>
static const Translation Translation< _Scalar, _Dim >::Identity ( ) [inline, static]

Definition at line 156 of file Translation.h.

References Translation< _Scalar, _Dim >::Translation().

template<typename _Scalar, int _Dim>
Translation Translation< _Scalar, _Dim >::inverse ( ) const [inline]
Returns:
the inverse translation (opposite)

Definition at line 148 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs, and Translation< _Scalar, _Dim >::Translation().

template<typename _Scalar, int _Dim>
bool Translation< _Scalar, _Dim >::isApprox ( const Translation< _Scalar, _Dim > &  other,
typename NumTraits< Scalar >::Real  prec = NumTraits<Scalar>::dummy_precision() 
) const [inline]
Returns:
true if *this is approximately equal to other, within the precision determined by prec.
See also:
MatrixBase::isApprox()

Definition at line 176 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename _Scalar, int _Dim>
Translation Translation< _Scalar, _Dim >::operator* ( const Translation< _Scalar, _Dim > &  other) const [inline]

Concatenates two translation.

Definition at line 105 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs, and Translation< _Scalar, _Dim >::Translation().

template<typename _Scalar, int _Dim>
VectorType Translation< _Scalar, _Dim >::operator* ( const VectorType other) const [inline]

Applies translation to vector.

Definition at line 144 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename Scalar , int Dim>
Translation< Scalar, Dim >::AffineTransformType Translation< Scalar, Dim >::operator* ( const UniformScaling< Scalar > &  other) const [inline]
template<typename _Scalar, int _Dim>
template<int Mode>
Transform<Scalar,Dim,Mode> Translation< _Scalar, _Dim >::operator* ( const Transform< Scalar, Dim, Mode > &  t) const [inline]

Concatenates a translation and a transformation.

Definition at line 136 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs, Transform< _Scalar, _Dim, _Mode >::pretranslate(), and t().

template<typename Scalar , int Dim>
template<typename OtherDerived >
Translation< Scalar, Dim >::AffineTransformType Translation< Scalar, Dim >::operator* ( const EigenBase< OtherDerived > &  linear) const [inline]
template<typename _Scalar, int _Dim>
template<typename Derived >
AffineTransformType Translation< _Scalar, _Dim >::operator* ( const RotationBase< Derived, Dim > &  r) const [inline]

Concatenates a translation and a rotation.

Definition at line 117 of file Translation.h.

References RotationBase< Derived, _Dim >::toRotationMatrix().

template<typename _Scalar, int _Dim>
Translation& Translation< _Scalar, _Dim >::operator= ( const Translation< _Scalar, _Dim > &  other) [inline]

Definition at line 150 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename _Scalar, int _Dim>
const VectorType& Translation< _Scalar, _Dim >::translation ( ) const [inline]

Definition at line 101 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename _Scalar, int _Dim>
VectorType& Translation< _Scalar, _Dim >::translation ( ) [inline]

Definition at line 102 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename _Scalar, int _Dim>
VectorType& Translation< _Scalar, _Dim >::vector ( ) [inline]

Definition at line 99 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename _Scalar, int _Dim>
const VectorType& Translation< _Scalar, _Dim >::vector ( ) const [inline]
template<typename _Scalar, int _Dim>
Scalar& Translation< _Scalar, _Dim >::x ( ) [inline]

Retruns the x-translation as a reference.

Definition at line 92 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename _Scalar, int _Dim>
Scalar Translation< _Scalar, _Dim >::x ( ) const [inline]

Retruns the x-translation by value.

Definition at line 85 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename _Scalar, int _Dim>
Scalar& Translation< _Scalar, _Dim >::y ( ) [inline]

Retruns the y-translation as a reference.

Definition at line 94 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename _Scalar, int _Dim>
Scalar Translation< _Scalar, _Dim >::y ( ) const [inline]

Retruns the y-translation by value.

Definition at line 87 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename _Scalar, int _Dim>
Scalar& Translation< _Scalar, _Dim >::z ( ) [inline]

Retruns the z-translation as a reference.

Definition at line 96 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.

template<typename _Scalar, int _Dim>
Scalar Translation< _Scalar, _Dim >::z ( ) const [inline]

Retruns the z-translation by value.

Definition at line 89 of file Translation.h.

References Translation< _Scalar, _Dim >::m_coeffs.


Friends And Related Function Documentation

template<typename _Scalar, int _Dim>
template<typename OtherDerived >
AffineTransformType operator* ( const EigenBase< OtherDerived > &  linear,
const Translation< _Scalar, _Dim > &  t 
) [friend]
Returns:
the concatenation of a linear transformation l with the translation t

Definition at line 123 of file Translation.h.


Member Data Documentation

template<typename _Scalar, int _Dim>
VectorType Translation< _Scalar, _Dim >::m_coeffs [protected]



Page generated by Doxygen 1.7.3 for MRPT 0.9.4 SVN: at Sat Mar 26 06:40:17 UTC 2011