Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
quaternion.h File Reference
#include "vec.h"
#include "matrix.h"

Go to the source code of this file.

Classes

struct  Quaternion
 
struct  Transformation
 

Macros

#define M(B, A)   mat.r[B*3+A]
 

Functions

Quaternion operator- (const Quaternion &a, const Quaternion &b)
 
Quaternion operator+ (const Quaternion &a, const Quaternion &b)
 
Quaternion operator* (const Quaternion &a, const float &b)
 
const Quaternion identity_quaternion (1, Vector(0, 0, 0))
 
const Transformation identity_transformation (identity_quaternion, QVector(0, 0, 0))
 

Macro Definition Documentation

#define M (   B,
 
)    mat.r[B*3+A]

Function Documentation

const Quaternion identity_quaternion ( ,
Vector(0, 0, 0)   
)
const Transformation identity_transformation ( identity_quaternion  ,
QVector(0, 0, 0)   
)
Quaternion operator* ( const Quaternion a,
const float b 
)
inline

Definition at line 106 of file quaternion.h.

References Quaternion::s, and Quaternion::v.

107 {
108  return Quaternion( a.s*b, a.v*b );
109 }
Quaternion operator+ ( const Quaternion a,
const Quaternion b 
)
inline

Definition at line 101 of file quaternion.h.

References Quaternion::s, and Quaternion::v.

102 {
103  return Quaternion( a.s+b.s, a.v+b.v );
104 }
Quaternion operator- ( const Quaternion a,
const Quaternion b 
)
inline

Definition at line 96 of file quaternion.h.

References Quaternion::s, and Quaternion::v.

97 {
98  return Quaternion( a.s-b.s, a.v-b.v );
99 }