template<class Real>
class sofa::type::QuatNoInit< Real >
Same as Quat except the values are not initialized by default. 
|  | 
| constexpr | QuatNoInit () noexcept | 
|  | 
| constexpr | Quat () | 
|  | 
| constexpr | Quat (qNoInit) | 
|  | Fast constructor: no initialization.  More... 
 | 
|  | 
|  | ~Quat ()=default | 
|  | 
| constexpr | Quat (Real x, Real y, Real z, Real w) | 
|  | 
| template<class Real2 > | 
| constexpr | Quat (const Real2 q[]) | 
|  | 
| template<class Real2 > | 
| constexpr | Quat (const Quat< Real2 > &q) | 
|  | 
|  | Quat (const Vec3 &axis, Real angle) | 
|  | 
|  | Quat (const Vec3 &vFrom, const Vec3 &vTo) | 
|  | 
| void | set (Real x, Real y, Real z, Real w) | 
|  | 
| const Real * | ptr () const | 
|  | Cast into a standard C array of elements.  More... 
 | 
|  | 
| Real * | ptr () | 
|  | Cast into a standard C array of elements.  More... 
 | 
|  | 
| bool | isNormalized () | 
|  | Returns true if norm of Quaternion is one, false otherwise.  More... 
 | 
|  | 
| void | normalize () | 
|  | Normalize a quaternion.  More... 
 | 
|  | 
| void | clear () | 
|  | 
| void | fromFrame (const Vec3 &x, const Vec3 &y, const Vec3 &z) | 
|  | Convert the reference frame orientation into an orientation quaternion.  More... 
 | 
|  | 
| void | fromMatrix (const Mat3x3 &m) | 
|  | Convert a rotation matrix into an orientation quaternion.  More... 
 | 
|  | 
| void | toMatrix (Mat3x3 &m) const | 
|  | Convert the quaternion into an orientation matrix.  More... 
 | 
|  | 
| constexpr void | toHomogeneousMatrix (Mat4x4 &m) const | 
|  | 
| constexpr auto | rotate (const Vec3 &v) const -> Vec3 | 
|  | Apply the rotation to a given vector.  More... 
 | 
|  | 
| constexpr auto | inverseRotate (const Vec3 &v) const -> Vec3 | 
|  | Apply the inverse rotation to a given vector.  More... 
 | 
|  | 
| auto | operator+ (const Quat &q1) const -> Quat | 
|  | 
| constexpr auto | operator* (const Quat &q1) const -> Quat | 
|  | 
| constexpr auto | operator* (const Real &r) const -> Quat | 
|  | 
| auto | operator/ (const Real &r) const -> Quat | 
|  | 
| void | operator*= (const Real &r) | 
|  | 
| void | operator/= (const Real &r) | 
|  | 
| constexpr auto | quatVectMult (const Vec3 &vect) const -> Quat | 
|  | Given two Quats, multiply them together to get a third quaternion.  More... 
 | 
|  | 
| constexpr auto | vectQuatMult (const Vec3 &vect) const -> Quat | 
|  | 
| constexpr Real & | operator[] (Size index) | 
|  | 
| constexpr const Real & | operator[] (Size index) const | 
|  | 
| template<std::size_t I> | 
| constexpr Real & | get () &noexcept requires(I< 4) | 
|  | 
| template<std::size_t I> | 
| constexpr const Real & | get () const &noexcept requires(I< 4) | 
|  | 
| template<std::size_t I> | 
| constexpr Real && | get () &&noexcept requires(I< 4) | 
|  | 
| template<std::size_t I> | 
| constexpr const Real && | get () const &&noexcept requires(I< 4) | 
|  | 
| auto | inverse () const -> Quat | 
|  | 
| auto | quatToRotationVector () const -> Vec3 | 
|  | Given a quaternion, compute rotation vector (axis times angle)  More... 
 | 
|  | 
| auto | toEulerVector () const -> Vec3 | 
|  | 
| void | slerp (const Quat &a, const Quat &b, Real t, bool allowFlip=true) | 
|  | Returns the slerp interpolation of Quaternions aandb, at timet.  More...
 | 
|  | 
| constexpr void | buildRotationMatrix (Real m[4][4]) const | 
|  | 
| constexpr void | writeOpenGlMatrix (double *m) const | 
|  | 
| constexpr void | writeOpenGlMatrix (float *m) const | 
|  | 
| auto | axisToQuat (Vec3 a, Real phi) -> Quat | 
|  | Given an axis and angle, compute quaternion.  More... 
 | 
|  | 
| void | quatToAxis (Vec3 &a, Real &phi) const | 
|  | Given a quaternion, compute an axis and angle.  More... 
 | 
|  | 
| void | setFromUnitVectors (const Vec3 &vFrom, const Vec3 &vTo) | 
|  | Sets this quaternion to the rotation required to rotate direction vector vFrom to direction vector vTo. vFrom and vTo are assumed to be normalized.  More... 
 | 
|  | 
| auto | slerp (const Quat &q1, Real t) const -> Quat | 
|  | 
| auto | slerp2 (const Quat &q1, Real t) const -> Quat | 
|  | 
| void | operator+= (const Quat &q2) | 
|  | 
| constexpr void | operator*= (const Quat &q1) | 
|  | 
| bool | operator== (const Quat &q) const | 
|  | 
| bool | operator!= (const Quat &q) const | 
|  | 
|  | 
| static constexpr Size | static_size = 4 | 
|  | 
| static constexpr Size | total_size = 4 | 
|  | Compile-time constant specifying the number of scalars within this vector (equivalent to the size() method)  More... 
 | 
|  | 
| static constexpr Size | spatial_dimensions = 3 | 
|  | Compile-time constant specifying the number of dimensions of space (NOT equivalent to total_size for quaternions)  More... 
 | 
|  | 
| static Quat | identity () | 
|  | 
| static auto | createQuaterFromFrame (const Vec3 &lox, const Vec3 &loy, const Vec3 &loz) -> Quat | 
|  | 
| static auto | createFromRotationVector (const Vec3 &a) -> Quat | 
|  | Create using rotation vector (axis*angle) given in parent coordinates.  More... 
 | 
|  | 
| static auto | createQuaterFromEuler (const Vec3 &v, EulerOrder order=EulerOrder::ZYX) -> Quat | 
|  | 
| static auto | fromEuler (Real alpha, Real beta, Real gamma, EulerOrder order=EulerOrder::ZYX) -> Quat | 
|  | Create a quaternion from Euler angles.  More... 
 | 
|  | 
| static auto | createFromRotationVector (Real a0, Real a1, Real a2) -> Quat | 
|  | Create using the entries of a rotation vector (axis*angle) given in parent coordinates.  More... 
 | 
|  | 
| static auto | set (const Vec3 &a) | 
|  | Create using rotation vector (axis*angle) given in parent coordinates.  More... 
 | 
|  | 
| static auto | set (Real a0, Real a1, Real a2) | 
|  | Create using using the entries of a rotation vector (axis*angle) given in parent coordinates.  More... 
 | 
|  | 
| static auto | quatDiff (Quat a, const Quat &b) -> Quat | 
|  | Return the quaternion resulting of the movement between 2 quaternions.  More... 
 | 
|  | 
| static auto | angularDisplacement (const Quat &a, const Quat &b) -> Vec3 | 
|  | Return the eulerian vector resulting of the movement between 2 quaternions.  More... 
 | 
|  | 
| static Size | size () | 
|  |