R3::basic_orientation_qty
namespace nin::R3 {
template <std::floating_point T>
class basic_orientation_qty;
}
A 3D orientation stored internally as a unit quaternion. The default-constructed orientation corresponds to the identity (no rotation).
Orientations represent a direction in 3D space without tracking the number of
full turns. For turn-aware transformations use
basic_rotation.
Multiple construction paths are provided: quaternion, rotation matrix, axis-angle, two body axes, and Euler angles.
Member functions
(Constructor)
constructs a 3D orientation
(Constructor)
constructs a 3D orientation
|
(1) |
|
(2) |
|
(3) |
|
(4) |
|
(5) |
|
(6) |
|
(7) |
-
(1) Default constructor. Identity orientation.
-
(2) Explicit converting constructor from a different floating-point type.
-
(3) Constructs from a quaternion. The quaternion need not be unit-length but its norm must be normal.
-
(4) Constructs from a 3x3 rotation matrix in row-major or column-major order.
-
(5) Constructs from two body-fixed axes (X and Y). The Z axis is derived.
-
(6) Constructs from an axis and an angle (axis-angle representation).
-
(7) Constructs from three Euler angles and a rotation sequence. Euler angles use the intrinsic convention.
to_quaternion
returns the underlying quaternion
to_quaternion
returns the underlying quaternion
|
(1) |
to_axis_angle
converts to axis-angle representation
to_axis_angle
converts to axis-angle representation
|
(1) |
Returns a struct with axis (unit vector) and angle.
to_matrix
converts to rotation matrix
to_matrix
converts to rotation matrix
|
(1) |
Returns a flat 3x3 rotation matrix in the requested ordering.
to_euler_angles
converts to Euler angles
to_euler_angles
converts to Euler angles
|
(1) |
Returns three angles for the requested Euler sequence.