Public Types | Public Member Functions
Quaternion< _Scalar, _Options > Class Template Reference

The quaternion class used to represent 3D orientations and rotations. More...

Inherits QuaternionBase< Derived >.

List of all members.

Public Types

typedef _Scalar Scalar
- Public Types inherited from QuaternionBase< Derived >
typedef AngleAxis< Scalar > AngleAxisType
typedef Matrix< Scalar, 3, 3 > Matrix3
typedef Matrix< Scalar, 3, 1 > Vector3

Public Member Functions

 Quaternion ()
 Quaternion (Scalar w, Scalar x, Scalar y, Scalar z)
 Quaternion (const Scalar *data)
template<class Derived >
 Quaternion (const QuaternionBase< Derived > &other)
 Quaternion (const AngleAxisType &aa)
template<typename Derived >
 Quaternion (const MatrixBase< Derived > &other)
template<typename OtherScalar , int OtherOptions>
 Quaternion (const Quaternion< OtherScalar, OtherOptions > &other)
- Public Member Functions inherited from QuaternionBase< Derived >
Vector3 _transformVector (Vector3 v) const
template<class OtherDerived >
Scalar angularDistance (const QuaternionBase< OtherDerived > &other) const
template<typename NewScalarType >
internal::cast_return_type
< Derived, Quaternion
< NewScalarType > >::type 
cast () const
const internal::traits
< Derived >::Coefficients & 
coeffs () const
internal::traits< Derived >
::Coefficients & 
coeffs ()
Quaternion< Scalar > conjugate () const
template<class OtherDerived >
Scalar dot (const QuaternionBase< OtherDerived > &other) const
Quaternion< Scalar > inverse () const
template<class OtherDerived >
bool isApprox (const QuaternionBase< OtherDerived > &other, RealScalar prec=NumTraits< Scalar >::dummy_precision()) const
Scalar norm () const
void normalize ()
Quaternion< Scalar > normalized () const
template<class OtherDerived >
Quaternion< Scalar > operator* (const QuaternionBase< OtherDerived > &q) const
template<class OtherDerived >
Derived & operator*= (const QuaternionBase< OtherDerived > &q)
Derived & operator= (const AngleAxisType &aa)
template<class MatrixDerived >
Derived & operator= (const MatrixBase< MatrixDerived > &xpr)
template<typename Derived1 , typename Derived2 >
Derived & setFromTwoVectors (const MatrixBase< Derived1 > &a, const MatrixBase< Derived2 > &b)
QuaternionBase & setIdentity ()
template<class OtherDerived >
Quaternion< Scalar > slerp (Scalar t, const QuaternionBase< OtherDerived > &other) const
Scalar squaredNorm () const
Matrix3 toRotationMatrix () const
const VectorBlock< const
Coefficients, 3 > 
vec () const
VectorBlock< Coefficients, 3 > vec ()
Scalar w () const
Scalar & w ()
Scalar x () const
Scalar & x ()
Scalar y () const
Scalar & y ()
Scalar z () const
Scalar & z ()

Additional Inherited Members

- Static Public Member Functions inherited from QuaternionBase< Derived >
static Quaternion< Scalar > Identity ()

Detailed Description

template<typename _Scalar, int _Options>
class Eigen::Quaternion< _Scalar, _Options >

The quaternion class used to represent 3D orientations and rotations.

This is defined in the Geometry module.

#include <Eigen/Geometry>
Parameters:
_Scalarthe scalar type, i.e., the type of the coefficients

This class represents a quaternion $ w+xi+yj+zk $ that is a convenient representation of orientations and rotations of objects in three dimensions. Compared to other representations like Euler angles or 3x3 matrices, quatertions offer the following advantages:

The following two typedefs are provided for convenience:

See also:
class AngleAxis, class Transform

Member Typedef Documentation

typedef _Scalar Scalar

the scalar type of the coefficients

Reimplemented from RotationBase< Derived, 3 >.


Constructor & Destructor Documentation

Quaternion ( )
inline

Default constructor leaving the quaternion uninitialized.

Quaternion ( Scalar  w,
Scalar  x,
Scalar  y,
Scalar  z 
)
inline

Constructs and initializes the quaternion $ w+xi+yj+zk $ from its four coefficients w, x, y and z.

Warning:
Note the order of the arguments: the real w coefficient first, while internally the coefficients are stored in the following order: [x, y, z, w]
Quaternion ( const Scalar data)
inline

Constructs and initialize a quaternion from the array data

Quaternion ( const QuaternionBase< Derived > &  other)
inline

Copy constructor

Quaternion ( const AngleAxisType aa)
inlineexplicit

Constructs and initializes a quaternion from the angle-axis aa

Quaternion ( const MatrixBase< Derived > &  other)
inlineexplicit

Constructs and initializes a quaternion from either:

  • a rotation matrix expression,
  • a 4D vector expression representing quaternion coefficients.
Quaternion ( const Quaternion< OtherScalar, OtherOptions > &  other)
inlineexplicit

Explicit copy constructor with scalar conversion


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