24 :
INode(meta, PValues)
45 double alpha, beta, gamma;
88 :
IRotation({
"IdentityRotation",
"Identity rotation, does nothing", {}}, {})
104 {
"XRotation",
"class_tooltip", {{
"Angle",
"rad",
"Angle around x axis", -
INF, +
INF, 0}}},
124 {
"YRotation",
"class_tooltip", {{
"Angle",
"rad",
"Angle around y axis", -
INF, +
INF, 0}}},
146 {
"ZRotation",
"class_tooltip", {{
"Angle",
"rad",
"Angle around z axis", -
INF, +
INF, 0}}},
165 "Sequence of three rotations around z-x'-z''",
166 {{
"Alpha",
"rad",
"First Euler angle, rotation around z axis", -
INF, +
INF, 0},
167 {
"Beta",
"rad",
"Second Euler angle, rotation around x' axis", -
INF, +
INF, 0},
168 {
"Gamma",
"rad",
"Third Euler angle, rotation around z'' axis", -
INF, +
INF, 0}}},
170 m_alpha(m_P[0]), m_beta(m_P[1]), m_gamma(m_P[2])
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.
Pure virtual interface for rotations.
IRotation(const NodeMeta &meta, const std::vector< double > &PValues)
static IRotation * createIdentity()
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.