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 (Istream &) | |
Construct from Istream. More... | |
const vector & | t () const |
const quaternion & | r () const |
vector & | t () |
quaternion & | r () |
vector | transform (const vector &v) const |
Transform the given vector. More... | |
vector | invTransform (const vector &v) const |
Inverse Transform the given vector. 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 |
Private Attributes | |
vector | t_ |
Translation vector. More... | |
quaternion | r_ |
Rotation quaternion. More... | |
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 64 of file septernion.H.
|
inline |
Construct null.
Definition at line 28 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 37 of file septernionI.H.
|
inlineexplicit |
Construct a pure rotation septernion given a rotation quaternion.
Definition at line 43 of file septernionI.H.
septernion | ( | Istream & | is | ) |
Construct from Istream.
Definition at line 46 of file septernion.C.
|
inline |
Definition at line 52 of file septernionI.H.
Referenced by Foam::operator*(), Foam::operator==(), and Foam::slerp().
|
inline |
Definition at line 58 of file septernionI.H.
Referenced by Foam::operator*(), Foam::operator==(), and Foam::slerp().
|
inline |
|
inline |
|
inline |
Transform the given vector.
Definition at line 76 of file septernionI.H.
Referenced by sixDoFRigidBodyMotion::transform().
|
inline |
Inverse Transform the given vector.
Definition at line 82 of file septernionI.H.
|
inline |
Definition at line 90 of file septernionI.H.
References Foam::tr().
|
inline |
Definition at line 96 of file septernionI.H.
References Foam::tr().
|
inline |
Definition at line 103 of file septernionI.H.
|
inline |
Definition at line 108 of file septernionI.H.
|
inline |
Definition at line 113 of file septernionI.H.
|
inline |
Definition at line 119 of file septernionI.H.
|
inline |
Definition at line 124 of file septernionI.H.
|
inline |
Definition at line 129 of file septernionI.H.
|
inline |
Definition at line 135 of file septernionI.H.
References s().
|
inline |
Definition at line 141 of file septernionI.H.
References s().
|
friend |
|
friend |
|
private |
Translation vector.
Definition at line 69 of file septernion.H.
|
private |
Rotation quaternion.
Definition at line 72 of file septernion.H.
|
static |
Definition at line 79 of file septernion.H.
|
static |
Definition at line 81 of file septernion.H.
|
static |
Definition at line 82 of file septernion.H.
Referenced by sixDoFRigidBodyMotion::transform().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.