Kindr
Kinematics and Dynamics for Robotics
kindr::EulerAnglesZyxDiff< PrimType_ > Class Template Reference

Implementation of time derivatives of Euler angles (Z,Y',X'' / yaw,pitch,roll) based on Eigen::Matrix<Scalar, 3, 1> More...

#include <EulerAnglesZyxDiff.hpp>

Inheritance diagram for kindr::EulerAnglesZyxDiff< PrimType_ >:
Inheritance graph

Public Types

typedef Base Implementation
 The implementation type. The implementation type is always an Eigen object. More...
 
typedef PrimType_ Scalar
 The primitive type. Float/Double. More...
 

Public Member Functions

 EulerAnglesZyxDiff ()
 Default constructor. More...
 
 EulerAnglesZyxDiff (Scalar yaw, Scalar pitch, Scalar roll)
 Constructor using three scalars. More...
 
template<typename RotationDerived_ , typename OtherDerived_ >
 EulerAnglesZyxDiff (const RotationBase< RotationDerived_ > &rotation, const RotationDiffBase< OtherDerived_ > &other)
 Constructor using a time derivative with a different parameterization. More...
 
template<typename OtherDerived_ , typename RotationDerived_ >
OtherDerived_ cast (const RotationBase< RotationDerived_ > &rotation) const
 Cast to another representation of the time derivative of a rotation. More...
 
 EulerAnglesZyxDiff (const Base &other)
 Constructor using Eigen::Matrix. More...
 
BasetoImplementation ()
 Cast to the implementation type. More...
 
const BasetoImplementation () const
 Cast to the implementation type. More...
 
Basevector ()
 
const Basevector () const
 
Scalar yaw () const
 Reading access to time derivative of yaw (Z) angle. More...
 
Scalar pitch () const
 Reading access to time derivative of pitch (Y') angle. More...
 
Scalar roll () const
 Reading access to time derivative of roll (X'') angle. More...
 
Scalaryaw ()
 Writing access to time derivative of yaw (Z) angle. More...
 
Scalarpitch ()
 Writing access to time derivative of pitch (Y') angle. More...
 
Scalarroll ()
 Writing access to time derivative of roll (X'') angle. More...
 
Scalar z () const
 Reading access to time derivative of yaw (Z) angle. More...
 
Scalar y () const
 Reading access to time derivative of pitch (Y') angle. More...
 
Scalar x () const
 Reading access to time derivative of roll (X'') angle. More...
 
Scalarz ()
 Writing access to time derivative of yaw (Z) angle. More...
 
Scalary ()
 Writing access to time derivative of pitch (Y') angle. More...
 
Scalarx ()
 Writing access to time derivative of roll (X'') angle. More...
 
EulerAnglesZyxDiffsetZero ()
 Sets all time derivatives to zero. More...
 
- Public Member Functions inherited from kindr::RotationDiffBase< EulerAnglesZyxDiff< PrimType_ > >
 RotationDiffBase ()=default
 Default constructor. More...
 
 RotationDiffBase (const EulerAnglesZyxDiff< PrimType_ > &)=delete
 Constructor from derived time derivative of a rotation. More...
 
 operator EulerAnglesZyxDiff< PrimType_ > & ()
 Gets the derived time derivative of a rotation. (only for advanced users) More...
 
 operator const EulerAnglesZyxDiff< PrimType_ > & () const
 Gets the derived time derivative of a rotation. (only for advanced users) More...
 
const EulerAnglesZyxDiff< PrimType_ > & derived () const
 Gets the derived time derivative of a rotation. (only for advanced users) More...
 
EulerAnglesZyxDiff< PrimType_ > & setZero ()
 Sets the time derivative of a rotation to zero. More...
 
EulerAnglesZyxDiff< PrimType_ > operator+ (const RotationDiffBase< OtherDerived_ > &other) const
 Addition of two time derivatives. More...
 
EulerAnglesZyxDiff< PrimType_ > operator- (const RotationDiffBase< OtherDerived_ > &other) const
 Subtraction of two time derivatives. More...
 
EulerAnglesZyxDiff< PrimType_ > & operator+= (const RotationDiffBase< OtherDerived_ > &other)
 Addition and assignment. More...
 
EulerAnglesZyxDiff< PrimType_ > & operator-= (const RotationDiffBase< OtherDerived_ > &other)
 Subtraction and assignment. More...
 

Private Types

typedef Eigen::Matrix< PrimType_, 3, 1 > Base
 The base type. More...
 

Private Attributes

Base zyxDiff_
 data container [yaw; pitch; roll] More...
 

Friends

std::ostream & operator<< (std::ostream &out, const EulerAnglesZyxDiff &diff)
 Used for printing the object with std::cout. More...
 

Detailed Description

template<typename PrimType_>
class kindr::EulerAnglesZyxDiff< PrimType_ >

Implementation of time derivatives of Euler angles (Z,Y',X'' / yaw,pitch,roll) based on Eigen::Matrix<Scalar, 3, 1>

The following two typedefs are provided for convenience:

  • EulerAnglesZyxDiffAD for primitive type double
  • EulerAnglesZyxDoffAF for primitive type float
    Template Parameters
    PrimType_the primitive type of the data (double or float)

Definition at line 52 of file EulerAnglesZyxDiff.hpp.

Member Typedef Documentation

◆ Base

template<typename PrimType_ >
typedef Eigen::Matrix<PrimType_, 3, 1> kindr::EulerAnglesZyxDiff< PrimType_ >::Base
private

The base type.

Definition at line 56 of file EulerAnglesZyxDiff.hpp.

◆ Implementation

template<typename PrimType_ >
typedef Base kindr::EulerAnglesZyxDiff< PrimType_ >::Implementation

The implementation type. The implementation type is always an Eigen object.

Definition at line 66 of file EulerAnglesZyxDiff.hpp.

◆ Scalar

template<typename PrimType_ >
typedef PrimType_ kindr::EulerAnglesZyxDiff< PrimType_ >::Scalar

The primitive type. Float/Double.

Definition at line 71 of file EulerAnglesZyxDiff.hpp.

Constructor & Destructor Documentation

◆ EulerAnglesZyxDiff() [1/4]

template<typename PrimType_ >
kindr::EulerAnglesZyxDiff< PrimType_ >::EulerAnglesZyxDiff ( )
inline

Default constructor.

Definition at line 75 of file EulerAnglesZyxDiff.hpp.

◆ EulerAnglesZyxDiff() [2/4]

template<typename PrimType_ >
kindr::EulerAnglesZyxDiff< PrimType_ >::EulerAnglesZyxDiff ( Scalar  yaw,
Scalar  pitch,
Scalar  roll 
)
inline

Constructor using three scalars.

Parameters
yawtime derivative of first rotation angle around Z axis
pitchtime derivative of second rotation angle around Y' axis
rolltime derivative of third rotation angle around X'' axis

Definition at line 84 of file EulerAnglesZyxDiff.hpp.

◆ EulerAnglesZyxDiff() [3/4]

template<typename PrimType_ >
template<typename RotationDerived_ , typename OtherDerived_ >
kindr::EulerAnglesZyxDiff< PrimType_ >::EulerAnglesZyxDiff ( const RotationBase< RotationDerived_ > &  rotation,
const RotationDiffBase< OtherDerived_ > &  other 
)
inlineexplicit

Constructor using a time derivative with a different parameterization.

Parameters
rotationrotation
otherother time derivative

Definition at line 94 of file EulerAnglesZyxDiff.hpp.

◆ EulerAnglesZyxDiff() [4/4]

template<typename PrimType_ >
kindr::EulerAnglesZyxDiff< PrimType_ >::EulerAnglesZyxDiff ( const Base other)
inlineexplicit

Constructor using Eigen::Matrix.

Parameters
otherEigen::Matrix<Scalar, 3, 1> [yaw; pitch; roll]

Definition at line 110 of file EulerAnglesZyxDiff.hpp.

Member Function Documentation

◆ cast()

template<typename PrimType_ >
template<typename OtherDerived_ , typename RotationDerived_ >
OtherDerived_ kindr::EulerAnglesZyxDiff< PrimType_ >::cast ( const RotationBase< RotationDerived_ > &  rotation) const
inline

Cast to another representation of the time derivative of a rotation.

Parameters
otherother rotation
Returns
reference

Definition at line 103 of file EulerAnglesZyxDiff.hpp.

◆ pitch() [1/2]

template<typename PrimType_ >
Scalar kindr::EulerAnglesZyxDiff< PrimType_ >::pitch ( ) const
inline

Reading access to time derivative of pitch (Y') angle.

Returns
time derivative of pitch angle (scalar) with reading access

Definition at line 148 of file EulerAnglesZyxDiff.hpp.

◆ pitch() [2/2]

template<typename PrimType_ >
Scalar& kindr::EulerAnglesZyxDiff< PrimType_ >::pitch ( )
inline

Writing access to time derivative of pitch (Y') angle.

Returns
time derivative of pitch angle (scalar) with writing access

Definition at line 169 of file EulerAnglesZyxDiff.hpp.

◆ roll() [1/2]

template<typename PrimType_ >
Scalar kindr::EulerAnglesZyxDiff< PrimType_ >::roll ( ) const
inline

Reading access to time derivative of roll (X'') angle.

Returns
time derivative of roll angle (scalar) with reading access

Definition at line 155 of file EulerAnglesZyxDiff.hpp.

◆ roll() [2/2]

template<typename PrimType_ >
Scalar& kindr::EulerAnglesZyxDiff< PrimType_ >::roll ( )
inline

Writing access to time derivative of roll (X'') angle.

Returns
time derivative of roll angle (scalar) with writing access

Definition at line 176 of file EulerAnglesZyxDiff.hpp.

◆ setZero()

template<typename PrimType_ >
EulerAnglesZyxDiff& kindr::EulerAnglesZyxDiff< PrimType_ >::setZero ( )
inline

Sets all time derivatives to zero.

Returns
reference

Definition at line 225 of file EulerAnglesZyxDiff.hpp.

◆ toImplementation() [1/2]

template<typename PrimType_ >
Base& kindr::EulerAnglesZyxDiff< PrimType_ >::toImplementation ( )
inline

Cast to the implementation type.

Returns
the implementation for direct manipulation (recommended only for advanced users)

Definition at line 117 of file EulerAnglesZyxDiff.hpp.

◆ toImplementation() [2/2]

template<typename PrimType_ >
const Base& kindr::EulerAnglesZyxDiff< PrimType_ >::toImplementation ( ) const
inline

Cast to the implementation type.

Returns
the implementation for direct manipulation (recommended only for advanced users)

Definition at line 124 of file EulerAnglesZyxDiff.hpp.

◆ vector() [1/2]

template<typename PrimType_ >
Base& kindr::EulerAnglesZyxDiff< PrimType_ >::vector ( )
inline

Definition at line 129 of file EulerAnglesZyxDiff.hpp.

◆ vector() [2/2]

template<typename PrimType_ >
const Base& kindr::EulerAnglesZyxDiff< PrimType_ >::vector ( ) const
inline

Definition at line 133 of file EulerAnglesZyxDiff.hpp.

◆ x() [1/2]

template<typename PrimType_ >
Scalar kindr::EulerAnglesZyxDiff< PrimType_ >::x ( ) const
inline

Reading access to time derivative of roll (X'') angle.

Returns
time derivative of roll angle (scalar) with reading access

Definition at line 197 of file EulerAnglesZyxDiff.hpp.

◆ x() [2/2]

template<typename PrimType_ >
Scalar& kindr::EulerAnglesZyxDiff< PrimType_ >::x ( )
inline

Writing access to time derivative of roll (X'') angle.

Returns
time derivative of roll angle (scalar) with writing access

Definition at line 218 of file EulerAnglesZyxDiff.hpp.

◆ y() [1/2]

template<typename PrimType_ >
Scalar kindr::EulerAnglesZyxDiff< PrimType_ >::y ( ) const
inline

Reading access to time derivative of pitch (Y') angle.

Returns
time derivative of pitch angle (scalar) with reading access

Definition at line 190 of file EulerAnglesZyxDiff.hpp.

◆ y() [2/2]

template<typename PrimType_ >
Scalar& kindr::EulerAnglesZyxDiff< PrimType_ >::y ( )
inline

Writing access to time derivative of pitch (Y') angle.

Returns
time derivative of pitch angle (scalar) with writing access

Definition at line 211 of file EulerAnglesZyxDiff.hpp.

◆ yaw() [1/2]

template<typename PrimType_ >
Scalar kindr::EulerAnglesZyxDiff< PrimType_ >::yaw ( ) const
inline

Reading access to time derivative of yaw (Z) angle.

Returns
time derivative of yaw angle (scalar) with reading access

Definition at line 141 of file EulerAnglesZyxDiff.hpp.

◆ yaw() [2/2]

template<typename PrimType_ >
Scalar& kindr::EulerAnglesZyxDiff< PrimType_ >::yaw ( )
inline

Writing access to time derivative of yaw (Z) angle.

Returns
time derivative of yaw angle (scalar) with writing access

Definition at line 162 of file EulerAnglesZyxDiff.hpp.

◆ z() [1/2]

template<typename PrimType_ >
Scalar kindr::EulerAnglesZyxDiff< PrimType_ >::z ( ) const
inline

Reading access to time derivative of yaw (Z) angle.

Returns
time derivative of yaw angle (scalar) with reading access

Definition at line 183 of file EulerAnglesZyxDiff.hpp.

◆ z() [2/2]

template<typename PrimType_ >
Scalar& kindr::EulerAnglesZyxDiff< PrimType_ >::z ( )
inline

Writing access to time derivative of yaw (Z) angle.

Returns
time derivative of yaw angle (scalar) with writing access

Definition at line 204 of file EulerAnglesZyxDiff.hpp.

Friends And Related Function Documentation

◆ operator<<

template<typename PrimType_ >
std::ostream& operator<< ( std::ostream &  out,
const EulerAnglesZyxDiff< PrimType_ > &  diff 
)
friend

Used for printing the object with std::cout.

Prints: yaw pitch roll

Returns
std::stream object

Definition at line 244 of file EulerAnglesZyxDiff.hpp.

Member Data Documentation

◆ zyxDiff_

template<typename PrimType_ >
Base kindr::EulerAnglesZyxDiff< PrimType_ >::zyxDiff_
private

data container [yaw; pitch; roll]

Definition at line 60 of file EulerAnglesZyxDiff.hpp.


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