3es  0.7
3esquaternionarg.h
1 //
2 // author: Kazys Stepanas
3 //
4 #ifndef _3ESQUATERNIONARG_H_
5 #define _3ESQUATERNIONARG_H_
6 
7 #include "3es-core.h"
8 
9 #include "3esquaternion.h"
10 
11 namespace tes
12 {
15  {
18  inline QuaternionArg(const float q[4]) : q(q) {}
21  inline QuaternionArg(const double q[4]) : q(Quaterniond(q)) {}
24  inline QuaternionArg(const Quaternionf &q) : q(q) {}
27  inline QuaternionArg(const Quaterniond &q) : q(q) {}
28 
34  inline QuaternionArg(float x, float y, float z, float w) : q(x, y, z, w) {}
35 
38  inline operator Quaternionf() const { return q; }
39 
43  inline float operator[](int i) const { return q[i]; }
44 
47  };
48 }
49 
50 #endif // _3ESQUATERNIONARG_H_
QuaternionArg(const Quaterniond &q)
Double precision quaternion constructor.
Definition: 3esquaternionarg.h:27
Quaternionf q
Quaternion value.
Definition: 3esquaternionarg.h:46
Definition: 3esbounds.h:13
float operator[](int i) const
Indexing operator.
Definition: 3esquaternionarg.h:43
QuaternionArg(const float q[4])
Single precision pointer constructor.
Definition: 3esquaternionarg.h:18
QuaternionArg(const double q[4])
Double precision pointer constructor.
Definition: 3esquaternionarg.h:21
A helper structure used to convert from float or double pointers to Quaternionf arguments.
Definition: 3esquaternionarg.h:14
Quaternion< float > Quaternionf
Defines a single precision quaternion.
Definition: 3esquaternion.h:198
A 4D rotational quaternion class.
Definition: 3esquaternion.h:15
QuaternionArg(float x, float y, float z, float w)
Component wise constructor.
Definition: 3esquaternionarg.h:34
QuaternionArg(const Quaternionf &q)
Single precision quaternion constructor.
Definition: 3esquaternionarg.h:24