Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 3822 in orxonox.OLD for orxonox/trunk/src/lib/math/vector.h


Ignore:
Timestamp:
Apr 14, 2005, 1:05:07 AM (19 years ago)
Author:
patrick
Message:

orxonox/trunk: quaternion functions inlined

File:
1 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/lib/math/vector.h

    r3819 r3822  
    6969  float w;        //!< Real part of the number
    7070 
    71   Quaternion ();
     71  inline Quaternion () { w = 1; v = Vector(0,0,0); }
     72  inline Quaternion (const Vector& b, float a) { w = a; v = b; }
    7273  Quaternion (float m[4][4]);
    73   Quaternion (float angle, const Vector& axis);
     74  inline Quaternion (float angle, const Vector& axis) { w = cos(angle/2); v = axis * sin(angle/2); }
    7475  Quaternion (const Vector& dir, const Vector& up);
    7576  Quaternion (float roll, float pitch, float yaw);
    76  
    7777  Quaternion operator/ (const float& f) const;
    7878  Quaternion operator* (const float& f) const;
    7979  Quaternion operator* (const Quaternion& q) const;
    80   Quaternion operator+ (const Quaternion& q) const;
    81   Quaternion operator- (const Quaternion& q) const;
     80  inline Quaternion operator+ (const Quaternion& q) const { return Quaternion(q.v + v, q.w + w); }
     81  inline Quaternion operator- (const Quaternion& q) const { return Quaternion(q.v - v, q.w - w); }
    8282  Quaternion conjugate () const;
    8383  Quaternion inverse () const;
    84   Vector apply (Vector& f) const;
     84  Vector apply (Vector& f) const ;//{ Quaternion q; q.v = v; q.w = 0; q = *this * q * conjugate(); return q.v; }
    8585  float norm () const;
    8686  void matrix (float m[4][4]) const;
Note: See TracChangeset for help on using the changeset viewer.