This class implements an exponential map defining a rotation by three parameters.
More...
#include <ExponentialMap.h>
|
VectorT3< T > | value_ = VectorT3<T>(0, 0, 0) |
| Axis defining the rotation normal while the length defines the rotation angle.
|
|
template<typename T>
class Ocean::ExponentialMapT< T >
This class implements an exponential map defining a rotation by three parameters.
The three parameter define the rotation axis, while the length of the axis vector defines the rotation angle in radian.
- Template Parameters
-
T | Floating point data type to be used |
- See also
- SphericalExponentialMap, Rotation, Quaternion, Euler.
◆ ExponentialMapT() [1/8]
Creates a default rotation.
◆ ExponentialMapT() [2/8]
Creates a rotation based on a given 3D axis with axis length defining the rotation angle in radian.
- Parameters
-
rotation | 3D vector defining the rotation |
◆ ExponentialMapT() [3/8]
Creates a rotation based on a given 3D axis with axis length defining the rotation angle in radian.
- Parameters
-
wx | X component of the rotation axis |
wy | Y component of the rotation axis |
wz | Z component of the rotation axis |
◆ ExponentialMapT() [4/8]
Creates a rotation based on a given 3D axis with length 1 and a given rotation angle.
- Parameters
-
axis | Normalized rotation axis |
angle | The angle of the rotation, in radian |
◆ ExponentialMapT() [5/8]
Creates an rotation based on a given angle-axis rotation.
- Parameters
-
rotation | the rotation to be used, must be valid |
◆ ExponentialMapT() [6/8]
Creates a rotation based on a quaternion.
- Parameters
-
rotation | The rotation to be used, must be valid |
◆ ExponentialMapT() [7/8]
Creates a rotation based on a 3x3 rotation matrix.
- Parameters
-
rotation | The rotation matrix to be used, must be valid |
◆ ExponentialMapT() [8/8]
template<typename T >
template<typename U >
Copies an exponential map with different element data type than T.
- Parameters
-
exponentialMap | The exponential map to copy |
- Template Parameters
-
U | The element data type of the exponential map |
◆ angle()
Returns the angle of this rotation object.
- Returns
- Rotation angle in radian
◆ axis()
Returns the (non-normalized) axis of this rotation object.
Beware: This axis has a length equal to the rotation angle in radian.
- Returns
- Non normalized rotation axis
◆ data()
Returns a pointer to the three rotation values of this object.
- Returns
- The three rotation values
◆ operator+()
Adds two exponential map objects.
- Parameters
-
exponentialMap | Exponential map to be (component wise) added |
- Returns
- New exponential map object
◆ operator+=()
Adds two exponential map objects.
- Parameters
-
exponentialMap | Exponential map to be (component wise) added |
- Returns
- Reference to this object
◆ operator-()
Subtracts two exponential map objects.
- Parameters
-
exponentialMap | Exponential map to be (component wise) subtracted |
- Returns
- New exponential map object
◆ operator-=()
Subtracts two exponential map objects.
- Parameters
-
exponentialMap | Exponential map to be (component wise) subtracted |
- Returns
- Reference to this object
◆ operator[]() [1/2]
Returns the individual rotation values of this map.
- Parameters
-
index | The index of the value to return, with range [0, 2] |
- Returns
- The requested index
◆ operator[]() [2/2]
Returns the individual rotation values of this map.
- Parameters
-
index | The index of the value to return, with range [0, 2] |
- Returns
- The requested index
◆ quaternion()
Returns this rotation object as quaternion object.
- Returns
- Equivalent quaternion rotation
◆ rotation()
Returns this rotation object as angle-axis object.
- Returns
- Equivalent rotation
◆ value_
Axis defining the rotation normal while the length defines the rotation angle.
The documentation for this class was generated from the following file: