latest version v1.9 - last update 10 Apr 2010 |
------------------------------------------------------------------ start of parameters The parameters for the class coordinateTransformation More...
#include <ltiCoordinateTransformation.h>
Public Types | |
typedef matrix< float > | transformMatrix |
Public Member Functions | |
parameters () | |
parameters (const parameters &other) | |
~parameters () | |
const char * | getTypeName () const |
parameters & | copy (const parameters &other) |
parameters & | operator= (const parameters &other) |
virtual functor::parameters * | clone () 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 |
------------------------------------------------------------------ start of parameters The parameters for the class coordinateTransformation
typedef matrix<float> lti::coordinateTransformation::parameters::transformMatrix |
The three rotation-matrices (3x3) A, B and C for the rotation around each axis.
lti::coordinateTransformation::parameters::parameters | ( | ) |
Default constructor.
Reimplemented from lti::linearAlgebraFunctor::parameters.
lti::coordinateTransformation::parameters::parameters | ( | const parameters & | other | ) |
Copy constructor.
other | the parameters object to be copied |
Reimplemented from lti::linearAlgebraFunctor::parameters.
lti::coordinateTransformation::parameters::~parameters | ( | ) | [virtual] |
Destructor.
Reimplemented from lti::linearAlgebraFunctor::parameters.
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.
other | the parameters object to be copied |
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:
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.
other | the parameters object to be copied |
virtual bool lti::coordinateTransformation::parameters::read | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | [virtual] |
Read the parameters from the given ioHandler.
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. |
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.
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. |
Reimplemented from lti::linearAlgebraFunctor::parameters.
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.