Changeset 100 in flair-src for trunk/lib/FlairCore


Ignore:
Timestamp:
Oct 5, 2016, 4:11:18 PM (8 years ago)
Author:
Sanahuja Guillaume
Message:

passage quaternoin 3dmgx3

Location:
trunk/lib/FlairCore/src
Files:
2 edited

Legend:

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

    r15 r100  
    1919#include "Object.h"
    2020#include "Euler.h"
     21#include "Quaternion.h"
    2122#include "math.h"
    2223
     
    5051}
    5152
     53void RotationMatrix::ToQuaternion(Quaternion &quaternion) const {
     54                quaternion.q0 = 0.5f * sqrtf(1.0f + m[0][0] + m[1][1] + m[2][2]);
     55                quaternion.q1 = 0.5f * sqrtf(1.0f + m[0][0] - m[1][1] - m[2][2]);
     56                quaternion.q2 = 0.5f * sqrtf(1.0f - m[0][0] + m[1][1] - m[2][2]);
     57                quaternion.q3 = 0.5f * sqrtf(1.0f - m[0][0] - m[1][1] + m[2][2]);
     58}
     59
     60Quaternion RotationMatrix::ToQuaternion(void) const {
     61  Quaternion quaternion;
     62  ToQuaternion(quaternion);
     63  return quaternion;
     64}
     65
    5266float &RotationMatrix::operator()(size_t row, size_t col) {
    5367  if (row < 3 && col < 3) {
  • trunk/lib/FlairCore/src/RotationMatrix.h

    r15 r100  
    1818namespace core {
    1919class Euler;
     20class Quaternion;
    2021
    2122/*! \class RotationMatrix
     
    5253  */
    5354  Euler ToEuler(void) const;
     55
     56  /*!
     57  * \brief Convert to quaternion
     58  *
     59  * \param quaternion output quaternion
     60  */
     61  void ToQuaternion(Quaternion &quaternion) const;
     62
     63  /*!
     64  * \brief Convert to quaternion
     65  *
     66  * \return quaternion
     67  */
     68  Quaternion ToQuaternion(void) const;
     69
    5470  /*!
    5571  * \brief matrix
Note: See TracChangeset for help on using the changeset viewer.