24 :
INode(meta, PValues)
45 double alpha, beta, gamma;
83 :
IRotation({
"IdentityRotation",
"Identity rotation, does nothing", {}}, {})
99 {
"XRotation",
"class_tooltip", {{
"Angle",
"rad",
"Angle around x axis", -
INF, +
INF, 0}}}, P)
118 {
"YRotation",
"class_tooltip", {{
"Angle",
"rad",
"Angle around y axis", -
INF, +
INF, 0}}}, P)
139 {
"ZRotation",
"class_tooltip", {{
"Angle",
"rad",
"Angle around z axis", -
INF, +
INF, 0}}}, P)
157 "Sequence of three rotations around z-x'-z''",
158 {{
"Alpha",
"rad",
"First Euler angle, rotation around z axis", -
INF, +
INF, 0},
159 {
"Beta",
"rad",
"Second Euler angle, rotation around x' axis", -
INF, +
INF, 0},
160 {
"Gamma",
"rad",
"Third Euler angle, rotation around z'' axis", -
INF, +
INF, 0}}},
Defines the macro ASSERT.
#define ASSERT(condition)
IRotation * createProduct(const IRotation &left, const IRotation &right)
Returns concatenated rotation (first right, then left).
Defines IRotation classes.
Base class for tree-like structures containing parameterized objects.
Abstract base class for rotations.
IRotation(const NodeMeta &meta, const std::vector< double > &PValues)
kvector_t transformed(const kvector_t &v) const
virtual bool isIdentity() const
Returns true if rotation matrix is identity matrix (no rotations)
virtual Transform3D getTransform3D() const =0
Returns transformation.
static IRotation * createRotation(const Transform3D &transform)
Transform3D getTransform3D() const
Returns transformation.
A sequence of rotations about the z-x'-z'' axes.
RotationEuler(const std::vector< double > P)
Transform3D getTransform3D() const
Returns transformation.
IRotation * createInverse() const
Returns a new IRotation object that is the current object's inverse.
A rotation about the x axis.
Transform3D getTransform3D() const
Returns transformation.
RotationX(const std::vector< double > P)
Constructor of rotation around x-axis.
A rotation about the y axis.
Transform3D getTransform3D() const
Returns transformation.
RotationY(const std::vector< double > P)
Constructor of rotation around y-axis.
A rotation about the z axis.
Transform3D getTransform3D() const
Returns transformation.
RotationZ(const std::vector< double > P)
Constructor of rotation around z-axis.