Changeset 336 in flair-src for trunk/lib/FlairCore/src/Quaternion.cpp


Ignore:
Timestamp:
10/08/19 16:41:35 (5 years ago)
Author:
Sanahuja Guillaume
Message:

use float

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/FlairCore/src/Quaternion.cpp

    r167 r336  
    3939
    4040float Quaternion::GetNorm(void) const {
    41   return sqrt(q0 * q0 + q1 * q1 + q2 * q2 + q3 * q3);
     41  return sqrtf(q0 * q0 + q1 * q1 + q2 * q2 + q3 * q3);
    4242}
    4343
     
    9494}
    9595
     96float Quaternion::GetEulerRoll(void) const {
     97    return atan2f(2 * (q0 * q1 + q2 * q3), 1 - 2 * (q1 * q1 + q2 * q2));
     98}
     99 
     100
     101float Quaternion::GetEulerPitch(void) const {
     102    return asinf(2 * (q0 * q2 - q1 * q3));
     103}
     104 
     105
     106float Quaternion::GetEulerYaw(void) const {
     107    return atan2f(2 * (q0 * q3 + q1 * q2), 1 - 2 * (q2 * q2 + q3 * q3));
     108}
     109 
    96110void Quaternion::ToEuler(Euler &euler) const {
    97   euler.roll = atan2(2 * (q0 * q1 + q2 * q3), 1 - 2 * (q1 * q1 + q2 * q2));
    98   euler.pitch = asin(2 * (q0 * q2 - q1 * q3));
    99   euler.yaw = atan2(2 * (q0 * q3 + q1 * q2), 1 - 2 * (q2 * q2 + q3 * q3));
     111  euler.roll = GetEulerRoll();
     112  euler.pitch = GetEulerPitch();
     113  euler.yaw = GetEulerYaw();
    100114}
    101115
Note: See TracChangeset for help on using the changeset viewer.