cheshirekow  v0.1.0
fiber::Quaternion< Scalar > Class Template Reference

#include <fiber/quaternion.h>

Inheritance diagram for fiber::Quaternion< Scalar >:
fiber::_RValue< Scalar, Quaternion< Scalar > >

Public Types

enum  { ROWS_ = 4, COLS_ = 1, SIZE_ = 1 }
 

Public Member Functions

Size cols () const
 
Scalar operator() (Size i, Size j) const
 
template<typename Exp >
Quaternion< Scalar > & operator= (const fiber::_RValue< Scalar, Exp > &exp)
 
Quaternion< Scalar > & operator= (const AxisAngle< Scalar > &axis_angle)
 
template<int Axis>
Quaternion< Scalar > & operator= (const CoordinateAxisAngle< Scalar, Axis > &axis_angle)
 
template<int... Axes>
Quaternion< Scalar > & operator= (const euler::Angles< Scalar, Axes...> &euler)
 
Scalar & operator[] (Size i)
 
Scalar operator[] (Size i) const
 
 Quaternion ()
 Default constructor, identity quaternion. More...
 
 Quaternion (Scalar w, Scalar x, Scalar y, Scalar z)
 inline constructor More...
 
template<typename Exp >
 Quaternion (const fiber::_RValue< Scalar, Exp > &exp)
 Construct from any MatrixExpression, copies elements. More...
 
 Quaternion (const AxisAngle< Scalar > &axis_angle)
 
template<int Axis>
 Quaternion (const CoordinateAxisAngle< Scalar, Axis > &axis_angle)
 
template<int... Axes>
 Quaternion (const euler::Angles< Scalar, Axes...> &euler)
 
template<typename Exp >
Matrix< Scalar, 3, 1 > Rotate (const fiber::_RValue< Scalar, Exp > &exp) const
 
Size rows () const
 
Size size () const
 
Scalar & w ()
 
Scalar w () const
 
Scalar & x ()
 
Scalar x () const
 
Scalar & y ()
 
Scalar y () const
 
Scalar & z ()
 
Scalar z () const
 
- Public Member Functions inherited from fiber::_RValue< Scalar, Quaternion< Scalar > >
Size cols () const
 
Scalar operator() (Size i, Size j) const
 
Scalar operator[] (Size i) const
 
Size rows () const
 
Size size () const
 

Private Attributes

Scalar data_ [4]
 

Detailed Description

template<typename Scalar>
class fiber::Quaternion< Scalar >

Definition at line 32 of file quaternion.h.

Member Enumeration Documentation

template<typename Scalar>
anonymous enum
Enumerator
ROWS_ 
COLS_ 
SIZE_ 

Definition at line 37 of file quaternion.h.

Constructor & Destructor Documentation

template<typename Scalar>
fiber::Quaternion< Scalar >::Quaternion ( )
inline

Default constructor, identity quaternion.

Definition at line 76 of file quaternion.h.

template<typename Scalar>
fiber::Quaternion< Scalar >::Quaternion ( Scalar  w,
Scalar  x,
Scalar  y,
Scalar  z 
)
inline

inline constructor

Definition at line 84 of file quaternion.h.

template<typename Scalar>
template<typename Exp >
fiber::Quaternion< Scalar >::Quaternion ( const fiber::_RValue< Scalar, Exp > &  exp)
inline

Construct from any MatrixExpression, copies elements.

Definition at line 93 of file quaternion.h.

template<typename Scalar>
fiber::Quaternion< Scalar >::Quaternion ( const AxisAngle< Scalar > &  axis_angle)
inline

Definition at line 100 of file quaternion.h.

template<typename Scalar>
template<int Axis>
fiber::Quaternion< Scalar >::Quaternion ( const CoordinateAxisAngle< Scalar, Axis > &  axis_angle)
inline

Definition at line 105 of file quaternion.h.

template<typename Scalar>
template<int... Axes>
fiber::Quaternion< Scalar >::Quaternion ( const euler::Angles< Scalar, Axes...> &  euler)
inline

Definition at line 110 of file quaternion.h.

Member Function Documentation

template<typename Scalar>
Size fiber::Quaternion< Scalar >::cols ( ) const
inline

Definition at line 45 of file quaternion.h.

template<typename Scalar>
Scalar fiber::Quaternion< Scalar >::operator() ( Size  i,
Size  j 
) const
inline

Definition at line 69 of file quaternion.h.

template<typename Scalar>
template<typename Exp >
Quaternion<Scalar>& fiber::Quaternion< Scalar >::operator= ( const fiber::_RValue< Scalar, Exp > &  exp)
inline

Definition at line 115 of file quaternion.h.

template<typename Scalar>
Quaternion<Scalar>& fiber::Quaternion< Scalar >::operator= ( const AxisAngle< Scalar > &  axis_angle)
inline

Definition at line 123 of file quaternion.h.

template<typename Scalar>
template<int Axis>
Quaternion<Scalar>& fiber::Quaternion< Scalar >::operator= ( const CoordinateAxisAngle< Scalar, Axis > &  axis_angle)
inline

Definition at line 129 of file quaternion.h.

template<typename Scalar>
template<int... Axes>
Quaternion<Scalar>& fiber::Quaternion< Scalar >::operator= ( const euler::Angles< Scalar, Axes...> &  euler)
inline

Definition at line 136 of file quaternion.h.

template<typename Scalar>
Scalar& fiber::Quaternion< Scalar >::operator[] ( Size  i)
inline

Definition at line 59 of file quaternion.h.

template<typename Scalar>
Scalar fiber::Quaternion< Scalar >::operator[] ( Size  i) const
inline

Definition at line 64 of file quaternion.h.

template<typename Scalar>
template<typename Exp >
Matrix<Scalar, 3, 1> fiber::Quaternion< Scalar >::Rotate ( const fiber::_RValue< Scalar, Exp > &  exp) const
inline

Definition at line 142 of file quaternion.h.

template<typename Scalar>
Size fiber::Quaternion< Scalar >::rows ( ) const
inline

Definition at line 44 of file quaternion.h.

template<typename Scalar>
Size fiber::Quaternion< Scalar >::size ( ) const
inline

Definition at line 43 of file quaternion.h.

template<typename Scalar>
Scalar& fiber::Quaternion< Scalar >::w ( )
inline

Definition at line 47 of file quaternion.h.

template<typename Scalar>
Scalar fiber::Quaternion< Scalar >::w ( ) const
inline

Definition at line 48 of file quaternion.h.

template<typename Scalar>
Scalar& fiber::Quaternion< Scalar >::x ( )
inline

Definition at line 50 of file quaternion.h.

template<typename Scalar>
Scalar fiber::Quaternion< Scalar >::x ( ) const
inline

Definition at line 51 of file quaternion.h.

template<typename Scalar>
Scalar& fiber::Quaternion< Scalar >::y ( )
inline

Definition at line 53 of file quaternion.h.

template<typename Scalar>
Scalar fiber::Quaternion< Scalar >::y ( ) const
inline

Definition at line 54 of file quaternion.h.

template<typename Scalar>
Scalar& fiber::Quaternion< Scalar >::z ( )
inline

Definition at line 56 of file quaternion.h.

template<typename Scalar>
Scalar fiber::Quaternion< Scalar >::z ( ) const
inline

Definition at line 57 of file quaternion.h.

Member Data Documentation

template<typename Scalar>
Scalar fiber::Quaternion< Scalar >::data_[4]
private

Definition at line 34 of file quaternion.h.


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