AnnQuaternion.hpp
Go to the documentation of this file.
1 
7 #pragma once
8 
9 #include "systemMacro.h"
10 #include <AnnVect3.hpp>
11 #include <AnnAngle.hpp>
12 #include <OgreQuaternion.h>
13 #include <OgreMatrix3.h>
14 #include <LinearMath/btQuaternion.h>
15 #include <al.h>
16 
17 namespace Annwvyn
18 {
20  class AnnDllExport AnnQuaternion : public Ogre::Quaternion
21  {
22  public:
23  //Call of Ogre::Quaternion constructor
24  AnnQuaternion();
26  AnnQuaternion(const Quaternion& q);
28  AnnQuaternion(float cw, float cx, float cy, float cz);
30  AnnQuaternion(const Ogre::Matrix3& rot);
32  AnnQuaternion(AnnRadian angle, AnnVect3 raxis);
34  AnnQuaternion(const AnnVect3& xAxis, const AnnVect3& yAxis, const AnnVect3& zAxis);
36  AnnQuaternion(const AnnVect3* vectorArray);
38  AnnQuaternion(float* floatArray);
40  AnnQuaternion(const btQuaternion& q);
41 
42  //Custom Annwvyn part
43 
45  AnnVect3 getUpVector() const;
47  AnnVect3 getAtVector() const;
48 
50  btQuaternion getBtQuaternion() const;
51 
53  bool isValid() const;
54 
56  AnnQuaternion(bool validState);
57 
58  operator btQuaternion() const;
59 
60  private:
62  inline void init();
64  bool valid;
65  };
66 }
file for defining macros used for symbol export regarding the way the OS does things.
bool valid
Validity boolean.
A 3D Vector.
Definition: AnnVect3.hpp:16
A 3D Vector.
Namespace containing the totality of Annwvyn components.
Definition: AnnGetter.cpp:8
An angle in Radian.
Definition: AnnAngle.hpp:22
Represent a Quaternion.
#define AnnDllExport
Definition: systemMacro.h:24