Lugdunum  0.1.0
Classes | Namespaces | Macros | Typedefs | Functions | Variables
Quaternion.hpp File Reference
#include <lug/Math/Export.hpp>
#include <lug/Math/Matrix.hpp>
#include <lug/Math/Vector.hpp>
#include <lug/Math/Constant.hpp>
#include <lug/Math/Quaternion.inl>
Include dependency graph for Quaternion.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  lug::Math::Quaternion< T >
 

Namespaces

 lug
 
 lug::Math
 

Macros

#define DEFINE_QUATERNION_ACCESS(name, rows)
 

Typedefs

using lug::Math::Quatf = Quaternion< float >
 
using lug::Math::Quatd = Quaternion< double >
 

Functions

template<typename T >
Quaternion< T > lug::Math::normalize (const Quaternion< T > &lhs)
 
template<typename T >
Quaternion< T > lug::Math::conjugate (const Quaternion< T > &lhs)
 
template<typename T >
Quaternion< T > lug::Math::inverse (const Quaternion< T > &lhs)
 
template<typename T >
lug::Math::dot (const Quaternion< T > &lhs, const Quaternion< T > &rhs)
 
template<typename T >
Quaternion< T > lug::Math::directionTo (const Vector< 3, T > &original, const Vector< 3, T > &expected)
 
template<typename T >
Quaternion< T > lug::Math::operator- (const Quaternion< T > &lhs)
 
template<typename T >
Quaternion< T > lug::Math::operator+ (const Quaternion< T > &lhs, const Quaternion< T > &rhs)
 
template<typename T >
Quaternion< T > lug::Math::operator- (const Quaternion< T > &lhs, const Quaternion< T > &rhs)
 
template<typename T >
Quaternion< T > lug::Math::operator* (const Quaternion< T > &lhs, const Quaternion< T > &rhs)
 
template<typename T >
Quaternion< T > lug::Math::operator/ (const Quaternion< T > &lhs, const Quaternion< T > &rhs)
 
template<typename T >
bool lug::Math::operator== (const Quaternion< T > &lhs, const Quaternion< T > &rhs)
 
template<typename T >
bool lug::Math::operator!= (const Quaternion< T > &lhs, const Quaternion< T > &rhs)
 
template<typename T >
std::ostream & lug::Math::operator<< (std::ostream &os, const Quaternion< T > &quaternion)
 

Variables

template class LUG_MATH_API lug::Math::Quaternion< float >
 
template class LUG_MATH_API lug::Math::Quaternion< double >
 

Macro Definition Documentation

◆ DEFINE_QUATERNION_ACCESS

#define DEFINE_QUATERNION_ACCESS (   name,
  rows 
)
Value:
const T& name() const { \
return (*this)[rows]; \
} \
\
T& name() { \
return (*this)[rows]; \
}

Definition at line 42 of file Quaternion.hpp.