VTK
Classes | Defines
dox/Common/Math/vtkQuaternion.h File Reference
#include "vtkTuple.h"
#include "vtkQuaternion.txx"
Include dependency graph for vtkQuaternion.h:

Go to the source code of this file.

Classes

class  vtkQuaternion< T >
 templated base type for storage of quaternions. More...
class  vtkQuaternionf
class  vtkQuaterniond

Defines

#define vtkQuaternionOperatorMacro(quaternionType, type)
#define vtkQuaternionIdentity(quaternionType, type)
#define vtkQuaternionNormalized(quaternionType, type)
#define vtkQuaternionConjugated(quaternionType, type)
#define vtkQuaternionInverse(quaternionType, type)
#define vtkQuaternionUnitLog(quaternionType, type)
#define vtkQuaternionUnitExp(quaternionType, type)
#define vtkQuaternionNormalizedWithAngleInDegrees(quaternionType, type)
#define vtkQuaternionSlerp(quaternionType, type)
#define vtkQuaternionInnerPoint(quaternionType, type)
#define vtkQuaternionOperatorPlus(quaternionType, type)
#define vtkQuaternionOperatorMinus(quaternionType, type)
#define vtkQuaternionOperatorMultiply(quaternionType, type)
#define vtkQuaternionOperatorMultiplyScalar(quaternionType, type)
#define vtkQuaternionOperatorDivide(quaternionType, type)
#define vtkQuaternionOperatorDivideScalar(quaternionType, type)

Define Documentation

#define vtkQuaternionIdentity (   quaternionType,
  type 
)
Value:
quaternionType Identity() const \
{ \
  return quaternionType(vtkQuaternion<type>::Identity().GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 210 of file vtkQuaternion.h.

#define vtkQuaternionNormalized (   quaternionType,
  type 
)
Value:
quaternionType Normalized() const \
{ \
  return quaternionType(vtkQuaternion<type>::Normalized().GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 215 of file vtkQuaternion.h.

#define vtkQuaternionConjugated (   quaternionType,
  type 
)
Value:
quaternionType Conjugated() const \
{ \
  return quaternionType(vtkQuaternion<type>::Conjugated().GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 220 of file vtkQuaternion.h.

#define vtkQuaternionInverse (   quaternionType,
  type 
)
Value:
quaternionType Inverse() const \
{ \
  return quaternionType(vtkQuaternion<type>::Inverse().GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 225 of file vtkQuaternion.h.

#define vtkQuaternionUnitLog (   quaternionType,
  type 
)
Value:
quaternionType UnitLog() const \
{ \
  return quaternionType( \
    vtkQuaternion<type>::UnitLog().GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 230 of file vtkQuaternion.h.

#define vtkQuaternionUnitExp (   quaternionType,
  type 
)
Value:
quaternionType UnitExp() const \
{ \
  return quaternionType( \
    vtkQuaternion<type>::UnitExp().GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 236 of file vtkQuaternion.h.

#define vtkQuaternionNormalizedWithAngleInDegrees (   quaternionType,
  type 
)
Value:
quaternionType NormalizedWithAngleInDegrees() const \
{ \
  return quaternionType( \
    vtkQuaternion<type>::NormalizedWithAngleInDegrees().GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 242 of file vtkQuaternion.h.

#define vtkQuaternionSlerp (   quaternionType,
  type 
)
Value:
quaternionType Slerp(type t, const quaternionType& q) const \
{ \
  return quaternionType( \
    vtkQuaternion<type>::Slerp(t, q).GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 248 of file vtkQuaternion.h.

#define vtkQuaternionInnerPoint (   quaternionType,
  type 
)
Value:
quaternionType InnerPoint(const quaternionType& q1, \
                          const quaternionType& q2) const \
{ \
  return quaternionType( \
    vtkQuaternion<type>::InnerPoint(q1, q2).GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 254 of file vtkQuaternion.h.

#define vtkQuaternionOperatorPlus (   quaternionType,
  type 
)
Value:
inline quaternionType operator+(const quaternionType& q) const \
{ \
  return quaternionType( ( \
    static_cast< vtkQuaternion<type> > (*this) + \
    static_cast< vtkQuaternion<type> > (q)).GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 261 of file vtkQuaternion.h.

#define vtkQuaternionOperatorMinus (   quaternionType,
  type 
)
Value:
inline quaternionType operator-(const quaternionType& q) const \
{ \
  return quaternionType( ( \
    static_cast< vtkQuaternion<type> > (*this) - \
    static_cast< vtkQuaternion<type> > (q)).GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 268 of file vtkQuaternion.h.

#define vtkQuaternionOperatorMultiply (   quaternionType,
  type 
)
Value:
inline quaternionType operator*(const quaternionType& q) const \
{ \
  return quaternionType( ( \
    static_cast< vtkQuaternion<type> > (*this) * \
    static_cast< vtkQuaternion<type> > (q)).GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 275 of file vtkQuaternion.h.

#define vtkQuaternionOperatorMultiplyScalar (   quaternionType,
  type 
)
Value:
inline quaternionType operator*(const type& scalar) const \
{ \
  return quaternionType( ( \
    static_cast< vtkQuaternion<type> > (*this) * \
    scalar).GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 282 of file vtkQuaternion.h.

#define vtkQuaternionOperatorDivide (   quaternionType,
  type 
)
Value:
inline quaternionType operator/(const quaternionType& q) const \
{ \
  return quaternionType( ( \
    static_cast< vtkQuaternion<type> > (*this) / \
    static_cast< vtkQuaternion<type> > (q)).GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 289 of file vtkQuaternion.h.

#define vtkQuaternionOperatorDivideScalar (   quaternionType,
  type 
)
Value:
inline quaternionType operator/(const type& scalar) const \
{ \
  return quaternionType( ( \
    static_cast< vtkQuaternion<type> > (*this) / \
    scalar).GetData()); \
}

Several macros to define the various operator overloads for the quaternions. These are necessary for the derived classes that are commonly used.

Definition at line 296 of file vtkQuaternion.h.

#define vtkQuaternionOperatorMacro (   quaternionType,
  type 
)
Value:
vtkQuaternionIdentity(quaternionType, type) \
vtkQuaternionNormalized(quaternionType, type) \
vtkQuaternionConjugated(quaternionType, type) \
vtkQuaternionInverse(quaternionType, type) \
vtkQuaternionUnitLog(quaternionType, type) \
vtkQuaternionUnitExp(quaternionType, type) \
vtkQuaternionNormalizedWithAngleInDegrees(quaternionType, type) \
vtkQuaternionSlerp(quaternionType, type) \
vtkQuaternionInnerPoint(quaternionType, type) \
vtkQuaternionOperatorPlus(quaternionType, type) \
vtkQuaternionOperatorMinus(quaternionType, type) \
vtkQuaternionOperatorMultiply(quaternionType, type) \
vtkQuaternionOperatorMultiplyScalar(quaternionType, type) \
vtkQuaternionOperatorDivide(quaternionType, type) \
vtkQuaternionOperatorDivideScalar(quaternionType, type)

Definition at line 305 of file vtkQuaternion.h.