Septernion class used to perform translations and rotations in 3D space. More...
Public Member Functions | |
septernion ()=default | |
Default construct. More... | |
septernion (const septernion &)=default | |
Copy construct. More... | |
septernion & | operator= (const septernion &)=default |
Copy assignment. More... | |
septernion (const Foam::zero) | |
Construct zero initialized. 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 &is) | |
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 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 62 of file septernion.H.
|
default |
Default construct.
|
default |
Copy construct.
|
inline |
Construct zero initialized.
Definition at line 24 of file septernionI.H.
|
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 38 of file septernionI.H.
|
inlineexplicit |
Construct a pure rotation septernion given a rotation quaternion.
Definition at line 45 of file septernionI.H.
|
inlineexplicit |
Construct a general septernion from the given spatialTransform.
Definition at line 52 of file septernionI.H.
|
explicit |
Construct from Istream.
Definition at line 40 of file septernion.C.
|
default |
Copy assignment.
|
inline |
Definition at line 61 of file septernionI.H.
Referenced by Foam::average(), Foam::operator*(), Foam::operator==(), and Foam::slerp().
|
inline |
Definition at line 67 of file septernionI.H.
Referenced by Foam::average(), Foam::operator*(), Foam::operator==(), and Foam::slerp().
|
inline |
Definition at line 73 of file septernionI.H.
|
inline |
Definition at line 79 of file septernionI.H.
|
inline |
Transform the given coordinate point.
Definition at line 85 of file septernionI.H.
|
inline |
Inverse Transform the given coordinate point.
Definition at line 91 of file septernionI.H.
Referenced by sixDoFRigidBodyMotion::transform().
|
inline |
Definition at line 99 of file septernionI.H.
References Foam::tr().
|
inline |
Definition at line 106 of file septernionI.H.
References quaternion::I.
|
inline |
Definition at line 113 of file septernionI.H.
|
inline |
Definition at line 119 of file septernionI.H.
|
inline |
Definition at line 125 of file septernionI.H.
References Foam::Zero.
|
inline |
Definition at line 132 of file septernionI.H.
References quaternion::invTransform().
|
inline |
Definition at line 139 of file septernionI.H.
References quaternion::transform().
|
inline |
Definition at line 146 of file septernionI.H.
References s.
|
inline |
Definition at line 152 of file septernionI.H.
References s.
|
friend |
|
friend |
|
static |
Definition at line 81 of file septernion.H.
|
static |
Definition at line 83 of file septernion.H.
|
static |
Definition at line 84 of file septernion.H.
Referenced by sixDoFRigidBodyMotion::transform(), and rigidBodyMotion::transformPoints().