MIRA
RigidTransformBase< T, D, TRotation, TransformDerived > Class Template Reference

Implementation of RigidTransforms with different dimensionality D. More...

`#include <transform/RigidTransform.h>`

## Public Types

enum  { Dim = D, HDim = D+1 }

typedef T Type
The used floating point type (float, double, long double) More...

typedef Eigen::Matrix< T, D, 1 > TranslationType
Vector type used to represent the translational part (dimension depends on dimensionality of transform). More...

typedef TRotation RotationType
Type used to represent the rotational part (Eigen::Rotation2D for 2D transforms, Eigen::Quaternion for 3D transforms) More...

typedef Eigen::Matrix< T, HDim,
HDim
MatrixType
Type of the matrix that can describe the full affine transform in homogeneous space. More...

## Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW RigidTransformBase (TranslationType translation, RotationType rotation)

TransformDerived inverse () const
Computes and returns the inverse transform of this. More...

bool isApprox (const RigidTransformBase &other, T prec=std::numeric_limits< T >::epsilon()) const
Returns true if this is approximately equal to other, within the precision determined by prec. More...

TransformDerived & operator*= (const RigidTransformBase &other)
Concatenates this transform with an other transform. More...

template<typename OtherDerived >
ei_rigidtransform_product_impl
< D, TransformDerived,
OtherDerived >::TResult
operator* (const Eigen::MatrixBase< OtherDerived > &other) const
Apply the transformation to an Eigen matrix. More...

operator Eigen::Transform< T, D, Eigen::Isometry > ()
Cast operator that casts the rigid transform into a generic Eigen::Transform object. More...

MatrixType getMatrix () const
Computes and returns the matrix that describes the affine transformation in homogeneous space. More...

## Public Attributes

TranslationType t
Vector that describes the translational part of the transform. More...

RotationType r
The rotational part of the transform. More...

## Protected Member Functions

TransformDerived * This ()
casts this to the actual derived type (see Curiously recurring template pattern) More...

const TransformDerived * This () const
casts this to the actual derived type (see Curiously recurring template pattern) More...

## Static Protected Member Functions

static TransformDerived mul (const RigidTransformBase &a, const RigidTransformBase &b)

## Friends

TransformDerived operator* (const RigidTransformBase &a, const RigidTransformBase &b)
Concatenates the two transformations. More...

## Detailed Description

### template<typename T, int D, typename TRotation, typename TransformDerived> class mira::RigidTransformBase< T, D, TRotation, TransformDerived >

Implementation of RigidTransforms with different dimensionality D.

## Member Typedef Documentation

 typedef T Type

The used floating point type (float, double, long double)

 typedef Eigen::Matrix TranslationType

Vector type used to represent the translational part (dimension depends on dimensionality of transform).

 typedef TRotation RotationType

Type used to represent the rotational part (Eigen::Rotation2D for 2D transforms, Eigen::Quaternion for 3D transforms)

 typedef Eigen::Matrix MatrixType

Type of the matrix that can describe the full affine transform in homogeneous space.

## Member Enumeration Documentation

 anonymous enum
Enumerator
Dim

HDim

size of the corresponding homogeneous space

## Constructor & Destructor Documentation

 EIGEN_MAKE_ALIGNED_OPERATOR_NEW RigidTransformBase ( TranslationType translation, RotationType rotation )
inline

## Member Function Documentation

 TransformDerived inverse ( ) const
inline

Computes and returns the inverse transform of this.

 bool isApprox ( const RigidTransformBase< T, D, TRotation, TransformDerived > & other, T prec = `std::numeric_limits::epsilon()` ) const
inline

Returns true if this is approximately equal to other, within the precision determined by prec.

Returns
true if approximately equal, false otherwise
 TransformDerived& operator*= ( const RigidTransformBase< T, D, TRotation, TransformDerived > & other )
inline

Concatenates this transform with an other transform.

 ei_rigidtransform_product_impl::TResult operator* ( const Eigen::MatrixBase< OtherDerived > & other ) const
inline

Apply the transformation to an Eigen matrix.

The matrix must be a fixed matrix of the size Dx1 or a dynamic matrix of the same size.

 operator Eigen::Transform< T, D, Eigen::Isometry > ( )
inline

Cast operator that casts the rigid transform into a generic Eigen::Transform object.

 MatrixType getMatrix ( ) const
inline

Computes and returns the matrix that describes the affine transformation in homogeneous space.

The dimensions of the matrix is 3x3 for 2D transformations and 4x4 for 3D transformations.

 TransformDerived* This ( )
inlineprotected

casts this to the actual derived type (see Curiously recurring template pattern)

 const TransformDerived* This ( ) const
inlineprotected

casts this to the actual derived type (see Curiously recurring template pattern)

 static TransformDerived mul ( const RigidTransformBase< T, D, TRotation, TransformDerived > & a, const RigidTransformBase< T, D, TRotation, TransformDerived > & b )
inlinestaticprotected

## Friends And Related Function Documentation

 TransformDerived operator* ( const RigidTransformBase< T, D, TRotation, TransformDerived > & a, const RigidTransformBase< T, D, TRotation, TransformDerived > & b )
friend

Concatenates the two transformations.

## Member Data Documentation

Vector that describes the translational part of the transform.

The rotational part of the transform.

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