cheshirekow  v0.1.0
fiber::euler::Angles< Scalar, Axis1, Axis2, Axis3 > Class Template Reference

A vector of euler angles. More...

#include <fiber/euler_angles.h>

Inheritance diagram for fiber::euler::Angles< Scalar, Axis1, Axis2, Axis3 >:
fiber::Matrix< Scalar, 3, 1 > fiber::_LValue< Scalar, Matrix< Scalar, Rows, Cols > > fiber::_RValue< Scalar, Matrix< Scalar, Rows, Cols > >

Public Types

typedef Matrix< Scalar, 3, 1 > MatrixBase
 
- Public Types inherited from fiber::Matrix< Scalar, 3, 1 >
enum  
 
- Public Types inherited from fiber::_LValue< Scalar, Matrix< Scalar, Rows, Cols > >
typedef StreamAssignment
< _LValue< Scalar, Matrix
< Scalar, Rows, Cols > > > 
StreamAssign
 

Public Member Functions

 Angles ()
 
 Angles (Scalar a, Scalar b, Scalar c)
 We require at least two values so as to disambiguate the constructor from the construct-by-rvalue constructor. More...
 
 Angles (const Quaternion< Scalar > &q)
 
- Public Member Functions inherited from fiber::Matrix< Scalar, 3, 1 >
Size cols () const
 
 Matrix ()
 Default constructor. More...
 
 Matrix (const _RValue< Scalar, Exp > &exp)
 Construct from any MatrixExpression: More...
 
 Matrix (Scalar x0, Scalar x1, Scalar x2, Scalar x3)
 Fixed size construction. More...
 
 Matrix (Scalar x0, Scalar x1, Scalar x2)
 Fixed size construction. More...
 
 Matrix (Scalar x0, Scalar x1)
 Fixed size construction. More...
 
 Matrix (Scalar a)
 
Scalar & operator() (int i, int j)
 
Scalar operator() (int i, int j) const
 
Scalar & operator[] (Index i)
 
Scalar const & operator[] (Index i) const
 
Size rows () const
 
Size size () const
 
- Public Member Functions inherited from fiber::_LValue< Scalar, Matrix< Scalar, Rows, Cols > >
Size cols () const
 
Scalar & operator() (Size i, Size j)
 
Scalar const & operator() (Size i, Size j) const
 
StreamAssign operator<< (Scalar x)
 returns a stream for assignment More...
 
_LValue< Scalar, Matrix
< Scalar, Rows, Cols > > & 
operator= (_RValue< Scalar, Exp2 > const &B)
 
Scalar & operator[] (Size i)
 
Scalar const & operator[] (Size i) const
 
Size rows () const
 
Size size () const
 
- Public Member Functions inherited from fiber::_RValue< Scalar, Matrix< Scalar, Rows, Cols > >
Size cols () const
 
Scalar operator() (Size i, Size j) const
 
Scalar operator[] (Size i) const
 
Size rows () const
 
Size size () const
 

Friends

void EulerAnglesToQuaternion (const euler::Angles< Scalar, Axis1, Axis2, Axis3 > &euler, Quaternion< Scalar > *q)
 

Additional Inherited Members

- Protected Attributes inherited from fiber::Matrix< Scalar, 3, 1 >
Scalar data_ [Rows *Cols]
 

Detailed Description

template<typename Scalar, int Axis1, int Axis2, int Axis3>
class fiber::euler::Angles< Scalar, Axis1, Axis2, Axis3 >

A vector of euler angles.

The convention is that rotations are applied in the reverse order that they are specified in the vector. For instance the orientation described by an euler::Angles<Scalar,0,1,2>(phi, theta, psi) vector corresponds to an orientation described by a rotation of psi about the z-axis (2-axis), followed by a rotation of theta about the new y-axis (1-axis), followed by a rotation of phi about the new x-axis (0-axis).

Definition at line 40 of file euler_angles.h.

Member Typedef Documentation

template<typename Scalar, int Axis1, int Axis2, int Axis3>
typedef Matrix<Scalar, 3, 1> fiber::euler::Angles< Scalar, Axis1, Axis2, Axis3 >::MatrixBase

Definition at line 42 of file euler_angles.h.

Constructor & Destructor Documentation

template<typename Scalar, int Axis1, int Axis2, int Axis3>
fiber::euler::Angles< Scalar, Axis1, Axis2, Axis3 >::Angles ( )
inline

Definition at line 44 of file euler_angles.h.

template<typename Scalar, int Axis1, int Axis2, int Axis3>
fiber::euler::Angles< Scalar, Axis1, Axis2, Axis3 >::Angles ( Scalar  a,
Scalar  b,
Scalar  c 
)
inline

We require at least two values so as to disambiguate the constructor from the construct-by-rvalue constructor.

Definition at line 48 of file euler_angles.h.

template<typename Scalar, int Axis1, int Axis2, int Axis3>
fiber::euler::Angles< Scalar, Axis1, Axis2, Axis3 >::Angles ( const Quaternion< Scalar > &  q)
inline

Definition at line 52 of file euler_angles.h.

Friends And Related Function Documentation

template<typename Scalar, int Axis1, int Axis2, int Axis3>
void EulerAnglesToQuaternion ( const euler::Angles< Scalar, Axis1, Axis2, Axis3 > &  euler,
Quaternion< Scalar > *  q 
)
friend

Definition at line 305 of file rotation_conversions.h.


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