liballofw
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
allofw::Quaternion_< T > Struct Template Reference

#include <quaternion.h>

Public Member Functions

 Quaternion_ ()=default
 
 Quaternion_ (T x_, T y_, T z_, T w_)
 
template<typename T1 >
 Quaternion_ (const Vector3_< T1 > &v_, T w_)
 
template<typename OtherT >
 Quaternion_ (const OtherT &other)
 
len () const
 
Quaternion_ operator+ (const Quaternion_ &q) const
 
Quaternion_ operator- (const Quaternion_ &q) const
 
Quaternion_ operator- () const
 
Quaternion_ operator* (T s) const
 
Quaternion_ operator/ (T s) const
 
Quaternion_ unit () const
 
Quaternion_ operator* (const Quaternion_ &q) const
 
template<typename T1 >
Quaternion_ operator* (const Vector3_< T1 > &v) const
 
Quaternion_ inversion () const
 
template<typename T1 >
Vector3_< T1 > rotate (const Vector3_< T1 > &v) const
 
Matrix3_< T > matrix () const
 

Static Public Member Functions

static Quaternion_ Rotation (const Vector3_< T > &v, double alpha)
 
static Quaternion_ Zero ()
 
static Quaternion_ One ()
 

Public Attributes

union {
   Vector3_< T >   v
 
   struct {
      T   x
 
      T   y
 
      T   z
 
   } 
 
}; 
 
w
 

Constructor & Destructor Documentation

template<typename T>
allofw::Quaternion_< T >::Quaternion_ ( )
inlinedefault
template<typename T>
allofw::Quaternion_< T >::Quaternion_ ( x_,
y_,
z_,
w_ 
)
inline
template<typename T>
template<typename T1 >
allofw::Quaternion_< T >::Quaternion_ ( const Vector3_< T1 > &  v_,
w_ 
)
inline
template<typename T>
template<typename OtherT >
allofw::Quaternion_< T >::Quaternion_ ( const OtherT &  other)
inline

Member Function Documentation

template<typename T>
Quaternion_ allofw::Quaternion_< T >::inversion ( ) const
inline
template<typename T>
T allofw::Quaternion_< T >::len ( ) const
inline
template<typename T>
Matrix3_<T> allofw::Quaternion_< T >::matrix ( ) const
inline
template<typename T>
static Quaternion_ allofw::Quaternion_< T >::One ( )
inlinestatic
template<typename T>
Quaternion_ allofw::Quaternion_< T >::operator* ( s) const
inline
template<typename T>
Quaternion_ allofw::Quaternion_< T >::operator* ( const Quaternion_< T > &  q) const
inline
template<typename T>
template<typename T1 >
Quaternion_ allofw::Quaternion_< T >::operator* ( const Vector3_< T1 > &  v) const
inline
template<typename T>
Quaternion_ allofw::Quaternion_< T >::operator+ ( const Quaternion_< T > &  q) const
inline
template<typename T>
Quaternion_ allofw::Quaternion_< T >::operator- ( const Quaternion_< T > &  q) const
inline
template<typename T>
Quaternion_ allofw::Quaternion_< T >::operator- ( ) const
inline
template<typename T>
Quaternion_ allofw::Quaternion_< T >::operator/ ( s) const
inline
template<typename T>
template<typename T1 >
Vector3_<T1> allofw::Quaternion_< T >::rotate ( const Vector3_< T1 > &  v) const
inline
template<typename T>
static Quaternion_ allofw::Quaternion_< T >::Rotation ( const Vector3_< T > &  v,
double  alpha 
)
inlinestatic
template<typename T>
Quaternion_ allofw::Quaternion_< T >::unit ( ) const
inline
template<typename T>
static Quaternion_ allofw::Quaternion_< T >::Zero ( )
inlinestatic

Member Data Documentation

union { ... }
template<typename T>
Vector3_<T> allofw::Quaternion_< T >::v
template<typename T>
T allofw::Quaternion_< T >::w
template<typename T>
T allofw::Quaternion_< T >::x
template<typename T>
T allofw::Quaternion_< T >::y
template<typename T>
T allofw::Quaternion_< T >::z

The documentation for this struct was generated from the following file: