VTK
Classes | Macros
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
 

Macros

#define vtkQuaternionIdentity(quaternionType, type)
 Several macros to define the various operator overloads for the quaternions. More...
 
#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 vtkQuaternionOperatorMacro(quaternionType, type)
 

Macro Definition Documentation

#define vtkQuaternionIdentity (   quaternionType,
  type 
)
Value:
quaternionType Identity() const \
{ \
return quaternionType(vtkQuaternion<type>::Identity().GetData()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41

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 295 of file vtkQuaternion.h.

#define vtkQuaternionNormalized (   quaternionType,
  type 
)
Value:
quaternionType Normalized() const \
{ \
return quaternionType(vtkQuaternion<type>::Normalized().GetData()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41

Definition at line 300 of file vtkQuaternion.h.

#define vtkQuaternionConjugated (   quaternionType,
  type 
)
Value:
quaternionType Conjugated() const \
{ \
return quaternionType(vtkQuaternion<type>::Conjugated().GetData()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41

Definition at line 305 of file vtkQuaternion.h.

#define vtkQuaternionInverse (   quaternionType,
  type 
)
Value:
quaternionType Inverse() const \
{ \
return quaternionType(vtkQuaternion<type>::Inverse().GetData()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41

Definition at line 310 of file vtkQuaternion.h.

#define vtkQuaternionUnitLog (   quaternionType,
  type 
)
Value:
quaternionType UnitLog() const \
{ \
return quaternionType( \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41

Definition at line 315 of file vtkQuaternion.h.

#define vtkQuaternionUnitExp (   quaternionType,
  type 
)
Value:
quaternionType UnitExp() const \
{ \
return quaternionType( \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41

Definition at line 321 of file vtkQuaternion.h.

#define vtkQuaternionNormalizedWithAngleInDegrees (   quaternionType,
  type 
)
Value:
quaternionType NormalizedWithAngleInDegrees() const \
{ \
return quaternionType( \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41

Definition at line 327 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()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41

Definition at line 333 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()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41

Definition at line 339 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()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41
vtkVector< A, Size > operator+(const vtkVector< A, Size > &v1, const vtkVector< A, Size > &v2)

Definition at line 346 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()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41
vtkVector< A, Size > operator-(const vtkVector< A, Size > &v)

Definition at line 353 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()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41
vtkVector< A, Size > operator*(const vtkVector< A, Size > &v1, const vtkVector< A, Size > &v2)

Definition at line 360 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()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41
vtkVector< A, Size > operator*(const vtkVector< A, Size > &v1, const vtkVector< A, Size > &v2)

Definition at line 367 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()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41
vtkVector< A, Size > operator/(const vtkVector< A, Size > &v1, const vtkVector< A, Size > &v2)

Definition at line 374 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()); \
}
templated base type for storage of quaternions.
Definition: vtkQuaternion.h:41
vtkVector< A, Size > operator/(const vtkVector< A, Size > &v1, const vtkVector< A, Size > &v2)

Definition at line 381 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) \
vtkQuaternionSlerp(quaternionType, type) \
vtkQuaternionInnerPoint(quaternionType, type) \
#define vtkQuaternionInverse(quaternionType, type)
#define vtkQuaternionUnitExp(quaternionType, type)
#define vtkQuaternionInnerPoint(quaternionType, type)
#define vtkQuaternionOperatorMinus(quaternionType, type)
#define vtkQuaternionConjugated(quaternionType, type)
#define vtkQuaternionUnitLog(quaternionType, type)
#define vtkQuaternionSlerp(quaternionType, type)
#define vtkQuaternionOperatorPlus(quaternionType, type)
#define vtkQuaternionIdentity(quaternionType, type)
Several macros to define the various operator overloads for the quaternions.
#define vtkQuaternionOperatorMultiplyScalar(quaternionType, type)
#define vtkQuaternionOperatorDivide(quaternionType, type)
#define vtkQuaternionOperatorDivideScalar(quaternionType, type)
#define vtkQuaternionOperatorMultiply(quaternionType, type)
#define vtkQuaternionNormalized(quaternionType, type)
#define vtkQuaternionNormalizedWithAngleInDegrees(quaternionType, type)

Definition at line 389 of file vtkQuaternion.h.