#include <ICoordinatesTransformator.hpp>
Public Member Functions | |
| virtual void MQUALIFIER | initAsIdentity ()=0 |
| virtual bool MQUALIFIER | isIdentity () const =0 |
| virtual void MQUALIFIER | addRotationX (const IAngle &rAngle)=0 |
| virtual void MQUALIFIER | addRotationY (const IAngle &rAngle)=0 |
| virtual void MQUALIFIER | addRotationZ (const IAngle &rAngle)=0 |
| virtual void MQUALIFIER | addTranslation (const IVector3D &rVector)=0 |
| virtual bool MQUALIFIER | setStretchFactor (const Float &fFactor)=0 |
| virtual void MQUALIFIER | transform (const IVector3D &rVecOriginalSystem, IVector3D &rVecTransformedSystem) const =0 |
| virtual void MQUALIFIER | transformReverse (const IVector3D &rVecTransformedSystem, IVector3D &rVecOriginalSystem) const =0 |
| virtual const ISquareMatrix3 &MQUALIFIER | getRotationMatrix () const =0 |
| virtual const ISquareMatrix3 &MQUALIFIER | getReverseRotationMatrix () const =0 |
| virtual const IVector3D &MQUALIFIER | getTranslationVector () const =0 |
| virtual const Float &MQUALIFIER | getStretchFactor () const =0 |
| virtual void MQUALIFIER | assign (const ICoordinatesTransformator &Transformator)=0 |
ICoordinatesTransformator encapsulates all functionality for three dimensional coordinate transformations composed of arbitrary sequences of rotations and translations. A global stretch factor can be added.
| virtual void MQUALIFIER zeus::ICoordinatesTransformator::addRotationX | ( | const IAngle & | rAngle ) | [pure virtual] |
Add a rotation around the x-axis.
This transformation is part of the definition how the transformed system is constructed from the original system.
| rAngle | [IN]: Rotation angle. |
Implemented in zeus::TCoordinatesTransformator.
| virtual void MQUALIFIER zeus::ICoordinatesTransformator::addRotationY | ( | const IAngle & | rAngle ) | [pure virtual] |
Add a rotation around the y-axis.
This transformation is part of the definition how the transformed system is constructed from the original system.
| rAngle | [IN]: Rotation angle. |
Implemented in zeus::TCoordinatesTransformator.
| virtual void MQUALIFIER zeus::ICoordinatesTransformator::addRotationZ | ( | const IAngle & | rAngle ) | [pure virtual] |
Add a rotation around the z-axis.
This transformation is part of the definition how the transformed system is constructed from the original system.
| rAngle | [IN]: Rotation angle. |
Implemented in zeus::TCoordinatesTransformator.
| virtual void MQUALIFIER zeus::ICoordinatesTransformator::addTranslation | ( | const IVector3D & | rVector ) | [pure virtual] |
Add a translation.
This transformation is part of the definition how the transformed system is constructed from the original system.
| rVector | [IN]: Translation vector to be added. |
Implemented in zeus::TCoordinatesTransformator.
| virtual void MQUALIFIER zeus::ICoordinatesTransformator::assign | ( | const ICoordinatesTransformator & | Transformator ) | [pure virtual] |
Assignment.
| Transformator | [IN]: Reference to interface type object to be assigned to this object. |
Implemented in zeus::TCoordinatesTransformator.
| virtual const ISquareMatrix3& MQUALIFIER zeus::ICoordinatesTransformator::getReverseRotationMatrix | ( | ) | const [pure virtual] |
Read the underlying composed reverse rotation matrix.
Implemented in zeus::TCoordinatesTransformator.
| virtual const ISquareMatrix3& MQUALIFIER zeus::ICoordinatesTransformator::getRotationMatrix | ( | ) | const [pure virtual] |
Read the underlying composed rotation matrix.
Implemented in zeus::TCoordinatesTransformator.
| virtual const Float& MQUALIFIER zeus::ICoordinatesTransformator::getStretchFactor | ( | ) | const [pure virtual] |
| virtual const IVector3D& MQUALIFIER zeus::ICoordinatesTransformator::getTranslationVector | ( | ) | const [pure virtual] |
Read the underlying composed translation vector.
Implemented in zeus::TCoordinatesTransformator.
| virtual void MQUALIFIER zeus::ICoordinatesTransformator::initAsIdentity | ( | ) | [pure virtual] |
Initialize as identity.
Implemented in zeus::TCoordinatesTransformator.
| virtual bool MQUALIFIER zeus::ICoordinatesTransformator::isIdentity | ( | ) | const [pure virtual] |
Check if this transformator still is the identity transformation.
Implemented in zeus::TCoordinatesTransformator.
| virtual bool MQUALIFIER zeus::ICoordinatesTransformator::setStretchFactor | ( | const Float & | fFactor ) | [pure virtual] |
Set the stretch factor.
| fFactor | [IN]: Stretch factor. If zero, the set method fails. |
Implemented in zeus::TCoordinatesTransformator.
| virtual void MQUALIFIER zeus::ICoordinatesTransformator::transform | ( | const IVector3D & | rVecOriginalSystem, |
| IVector3D & | rVecTransformedSystem | ||
| ) | const [pure virtual] |
Perform a (forward) coordinate transformation.
This transformation takes a point in the original system and returns the coordinates of the same point in the transformed system.
Note that this transformation is actually reverse to the initializations.
Example: The transformed system is +30° rotated around the z axis versus the original system. If you now take vector (1, 0, 0) in the original system and ask for its position in the transformed system, the result is vector (1, 0, 0) rotated by -30° around the z axis.
| rVecOriginalSystem | [IN] : Vector in the original system. |
| rVecTransformedSystem | [OUT]: Vector in the transformed system. |
Implemented in zeus::TCoordinatesTransformator.
| virtual void MQUALIFIER zeus::ICoordinatesTransformator::transformReverse | ( | const IVector3D & | rVecTransformedSystem, |
| IVector3D & | rVecOriginalSystem | ||
| ) | const [pure virtual] |
Perform a reverse coordinate transformation.
| rVecTransformedSystem | [IN] : Vector in the transformed system. |
| rVecOriginalSystem | [OUT]: Vector in the original system. |
Implemented in zeus::TCoordinatesTransformator.