Septernion class used to perform translations and rotations in 3D space. More...
Public Member Functions | |
septernion () | |
Construct null. More... | |
septernion (const vector &t, const quaternion &r) | |
Construct given a translation vector and rotation quaternion. More... | |
septernion (const vector &t) | |
Construct a pure translation septernion given a translation vector. More... | |
septernion (const quaternion &r) | |
Construct a pure rotation septernion given a rotation quaternion. More... | |
septernion (const spatialTransform &st) | |
Construct a general septernion from the given spatialTransform. More... | |
septernion (Istream &) | |
Construct from Istream. More... | |
const vector & | t () const |
const quaternion & | r () const |
vector & | t () |
quaternion & | r () |
vector | transformPoint (const vector &v) const |
Transform the given coordinate point. More... | |
vector | invTransformPoint (const vector &v) const |
Inverse Transform the given coordinate point. More... | |
void | operator= (const septernion &) |
void | operator*= (const septernion &) |
void | operator= (const vector &) |
void | operator+= (const vector &) |
void | operator-= (const vector &) |
void | operator= (const quaternion &) |
void | operator*= (const quaternion &) |
void | operator/= (const quaternion &) |
void | operator*= (const scalar) |
void | operator/= (const scalar) |
Static Public Attributes | |
static const char *const | typeName = "septernion" |
static const septernion | zero |
static const septernion | I |
Friends | |
Istream & | operator>> (Istream &is, septernion &) |
Ostream & | operator<< (Ostream &os, const septernion &C) |
Septernion class used to perform translations and rotations in 3D space.
It is composed of a translation vector and rotation quaternion and as such has seven components hence the name "septernion" from the Latin to be consistent with quaternion rather than "hepternion" derived from the Greek.
Definition at line 65 of file septernion.H.
|
inline |
Construct null.
Definition at line 28 of file septernionI.H.
Referenced by Foam::inv(), Foam::operator*(), Foam::operator+(), Foam::operator-(), Foam::operator/(), and Foam::slerp().
|
inline |
Construct given a translation vector and rotation quaternion.
Definition at line 31 of file septernionI.H.
|
inlineexplicit |
Construct a pure translation septernion given a translation vector.
Definition at line 37 of file septernionI.H.
|
inlineexplicit |
Construct a pure rotation septernion given a rotation quaternion.
Definition at line 43 of file septernionI.H.
|
inlineexplicit |
Construct a general septernion from the given spatialTransform.
Definition at line 49 of file septernionI.H.
septernion | ( | Istream & | is | ) |
Construct from Istream.
Definition at line 46 of file septernion.C.
|
inline |
Definition at line 58 of file septernionI.H.
Referenced by Foam::average(), Foam::contiguous< septernion >(), Foam::inv(), septernion::invTransformPoint(), Foam::name(), Foam::operator*(), septernion::operator*=(), Foam::operator+(), septernion::operator+=(), Foam::operator-(), septernion::operator-=(), Foam::operator/(), Foam::operator<<(), septernion::operator=(), Foam::operator==(), Foam::operator>>(), Foam::slerp(), septernion::transformPoint(), and Foam::transformPoints().
|
inline |
Definition at line 64 of file septernionI.H.
Referenced by Foam::average(), Foam::contiguous< septernion >(), Foam::inv(), septernion::invTransformPoint(), Foam::name(), Foam::operator*(), septernion::operator*=(), Foam::operator+(), Foam::operator-(), Foam::operator/(), septernion::operator/=(), Foam::operator<<(), septernion::operator=(), Foam::operator==(), Foam::operator>>(), Foam::slerp(), septernion::transformPoint(), and Foam::transformPoints().
|
inline |
Definition at line 70 of file septernionI.H.
|
inline |
Definition at line 76 of file septernionI.H.
|
inline |
Transform the given coordinate point.
Definition at line 82 of file septernionI.H.
References septernion::r(), septernion::t(), and quaternion::transform().
|
inline |
Inverse Transform the given coordinate point.
Definition at line 88 of file septernionI.H.
References quaternion::invTransform(), septernion::r(), and septernion::t().
Referenced by sixDoFRigidBodyMotion::transform().
|
inline |
Definition at line 96 of file septernionI.H.
|
inline |
Definition at line 102 of file septernionI.H.
References quaternion::invTransform(), septernion::r(), and septernion::t().
|
inline |
Definition at line 109 of file septernionI.H.
References quaternion::I, and septernion::t().
|
inline |
Definition at line 115 of file septernionI.H.
References septernion::t().
|
inline |
Definition at line 120 of file septernionI.H.
References septernion::t().
|
inline |
Definition at line 126 of file septernionI.H.
References septernion::r(), and Foam::Zero.
|
inline |
Definition at line 132 of file septernionI.H.
References quaternion::invTransform(), and septernion::r().
|
inline |
Definition at line 138 of file septernionI.H.
References septernion::r(), and quaternion::transform().
|
inline |
Definition at line 145 of file septernionI.H.
References s().
|
inline |
Definition at line 151 of file septernionI.H.
References s().
|
friend |
|
friend |
|
static |
Definition at line 80 of file septernion.H.
|
static |
Definition at line 82 of file septernion.H.
|
static |
Definition at line 83 of file septernion.H.
Referenced by sixDoFRigidBodyMotion::transform(), and rigidBodyMotion::transformPoints().