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

lti::coordinateTransformation::parameters Class Reference

------------------------------------------------------------------ start of parameters The parameters for the class coordinateTransformation More...

#include <ltiCoordinateTransformation.h>

Inheritance diagram for lti::coordinateTransformation::parameters:
Inheritance graph
[legend]
Collaboration diagram for lti::coordinateTransformation::parameters:
Collaboration graph
[legend]

List of all members.

Public Types

typedef matrix< float > transformMatrix

Public Member Functions

 parameters ()
 parameters (const parameters &other)
 ~parameters ()
const char * getTypeName () const
parameterscopy (const parameters &other)
parametersoperator= (const parameters &other)
virtual functor::parametersclone () const
virtual bool write (ioHandler &handler, const bool complete=true) const
virtual bool read (ioHandler &handler, const bool complete=true)
virtual bool initParameters (float fAngleXAxisRotation, float fAngleYAxisRotation, float fAngleZAxisRotation, vector< float > vDisplacement)
virtual bool defineTransformationMatrices (float falpha, float fbeta, float fgamma)
virtual bool calculateTotalRotationMatrix (void)

Public Attributes

transformMatrix mRotateAroundXYZAxis
vector< float > vDisplace

Detailed Description

------------------------------------------------------------------ start of parameters The parameters for the class coordinateTransformation


Member Typedef Documentation

The three rotation-matrices (3x3) A, B and C for the rotation around each axis.


Constructor & Destructor Documentation

lti::coordinateTransformation::parameters::parameters (  ) 

Default constructor.

Reimplemented from lti::linearAlgebraFunctor::parameters.

lti::coordinateTransformation::parameters::parameters ( const parameters other  ) 

Copy constructor.

Parameters:
other the parameters object to be copied

Reimplemented from lti::linearAlgebraFunctor::parameters.

lti::coordinateTransformation::parameters::~parameters (  )  [virtual]

Destructor.

Reimplemented from lti::linearAlgebraFunctor::parameters.


Member Function Documentation

virtual bool lti::coordinateTransformation::parameters::calculateTotalRotationMatrix ( void   )  [virtual]

This method is called by initParameters, and calculates the total-rotation-matrix by multiplying the three rotation-matrices: D=C*B*A.

virtual functor::parameters* lti::coordinateTransformation::parameters::clone (  )  const [virtual]

Returns a pointer to a clone of the parameters.

Reimplemented from lti::linearAlgebraFunctor::parameters.

parameters& lti::coordinateTransformation::parameters::copy ( const parameters other  ) 

Copy the contents of a parameters object.

Parameters:
other the parameters object to be copied
Returns:
a reference to this parameters object

Reimplemented from lti::linearAlgebraFunctor::parameters.

virtual bool lti::coordinateTransformation::parameters::defineTransformationMatrices ( float  falpha,
float  fbeta,
float  fgamma 
) [virtual]

This method is called by initParameters and calculates the three rotation-matrices A, B and C.

A contains the rotation around x, B around y and C around z.

const char* lti::coordinateTransformation::parameters::getTypeName (  )  const [virtual]

Returns name of this type.

Reimplemented from lti::linearAlgebraFunctor::parameters.

virtual bool lti::coordinateTransformation::parameters::initParameters ( float  fAngleXAxisRotation,
float  fAngleYAxisRotation,
float  fAngleZAxisRotation,
vector< float >  vDisplacement 
) [virtual]

This method has to be called by the user to initialize the parameters.

The parameters:

  • fAngleXAxisRotation, fAngleYAxisRotation and fAngleZAxisRotation represent the three angles (in degree) of the rotation of the inner coordinate system in respect to the outer system (explanation is given above).
  • vDisplacement represents the displacement between the two coordinate systems as a vector (x,y,z) from the origin of the outer system to the origin of the inner system.

A note for the interested reader: Internally, the parameter-class calculates three matrices A, B and C from the three angles and a the total-rotation-matrix D=C*B*A(see introduction), in order to reduce calculation time for the following point transformations. This way, the apply method doesn't have to calculate this matrix each time a point has to be transformed.

parameters& lti::coordinateTransformation::parameters::operator= ( const parameters other  ) 

Copy the contents of a parameters object.

Parameters:
other the parameters object to be copied
Returns:
a reference to this parameters object
virtual bool lti::coordinateTransformation::parameters::read ( ioHandler handler,
const bool  complete = true 
) [virtual]

Read the parameters from the given ioHandler.

Parameters:
handler the ioHandler to be used
complete if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written.
Returns:
true if write was successful

Reimplemented from lti::linearAlgebraFunctor::parameters.

virtual bool lti::coordinateTransformation::parameters::write ( ioHandler handler,
const bool  complete = true 
) const [virtual]

Write the parameters in the given ioHandler.

Parameters:
handler the ioHandler to be used
complete if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written.
Returns:
true if write was successful

Reimplemented from lti::linearAlgebraFunctor::parameters.


Member Data Documentation

The total-rotation-matrix(3x3) D=C*B*A(see introduction) which rotates a vector around all three axes.

This matrix is calculated when you initialize the parameters with the method initParameters. You also can set this 3x3 matrix directly.

The displacement between the two coordinate systems, described by a vector (x,y,z) from the origin (0,0,0) of the outer system to the origin of the inner system.

You can set this parameter when you initialize the parameters with the method initParameters, or you can set it directly.


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

Generated on Sat Apr 10 15:28:12 2010 for LTI-Lib by Doxygen 1.6.1