Public Member Functions | Static Public Attributes | Friends | List of all members
septernion Class Reference

Septernion class used to perform translations and rotations in 3D space. More...

Collaboration diagram for septernion:
Collaboration graph
[legend]

Public Member Functions

 septernion ()=default
 
 septernion (const septernion &)=default
 
septernionoperator= (const septernion &)=default
 
 septernion (const Foam::zero)
 
 septernion (const vector &t, const quaternion &r)
 
 septernion (const vector &t)
 
 septernion (const quaternion &r)
 
 septernion (const spatialTransform &st)
 
 septernion (Istream &is)
 
const vectort () const
 
const quaternionr () const
 
vectort ()
 
quaternionr ()
 
vector transformPoint (const vector &v) const
 
vector invTransformPoint (const vector &v) const
 
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

Istreamoperator>> (Istream &is, septernion &)
 
Ostreamoperator<< (Ostream &os, const septernion &C)
 

Detailed Description

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.

Source files

Definition at line 62 of file septernion.H.

Constructor & Destructor Documentation

◆ septernion() [1/8]

septernion ( )
default

◆ septernion() [2/8]

septernion ( const septernion )
default

◆ septernion() [3/8]

septernion ( const Foam::zero  )
inline

Definition at line 24 of file septernionI.H.

◆ septernion() [4/8]

septernion ( const vector t,
const quaternion r 
)
inline

Definition at line 31 of file septernionI.H.

◆ septernion() [5/8]

septernion ( const vector t)
inlineexplicit

Definition at line 38 of file septernionI.H.

◆ septernion() [6/8]

septernion ( const quaternion r)
inlineexplicit

Definition at line 45 of file septernionI.H.

◆ septernion() [7/8]

septernion ( const spatialTransform st)
inlineexplicit

Definition at line 52 of file septernionI.H.

◆ septernion() [8/8]

septernion ( Istream is)
explicit

Definition at line 40 of file septernion.C.

Member Function Documentation

◆ operator=() [1/3]

septernion& operator= ( const septernion )
default

◆ t() [1/2]

Foam::vector & t ( ) const
inline

Definition at line 61 of file septernionI.H.

Referenced by Foam::average(), Foam::operator*(), Foam::operator==(), and Foam::slerp().

Here is the caller graph for this function:

◆ r() [1/2]

Foam::quaternion & r ( ) const
inline

Definition at line 67 of file septernionI.H.

Referenced by Foam::average(), Foam::operator*(), Foam::operator==(), and Foam::slerp().

Here is the caller graph for this function:

◆ t() [2/2]

vector& t ( )
inline

◆ r() [2/2]

quaternion& r ( )
inline

◆ transformPoint()

Foam::vector transformPoint ( const vector v) const
inline

Definition at line 85 of file septernionI.H.

◆ invTransformPoint()

Foam::vector invTransformPoint ( const vector v) const
inline

Definition at line 91 of file septernionI.H.

Referenced by sixDoFRigidBodyMotion::transform().

Here is the caller graph for this function:

◆ operator*=() [1/3]

void operator*= ( const septernion tr)
inline

Definition at line 99 of file septernionI.H.

References Foam::tr().

Here is the call graph for this function:

◆ operator=() [2/3]

void operator= ( const vector t)
inline

Definition at line 106 of file septernionI.H.

References quaternion::I.

◆ operator+=()

void operator+= ( const vector t)
inline

Definition at line 113 of file septernionI.H.

◆ operator-=()

void operator-= ( const vector t)
inline

Definition at line 119 of file septernionI.H.

◆ operator=() [3/3]

void operator= ( const quaternion r)
inline

Definition at line 125 of file septernionI.H.

References Foam::Zero.

◆ operator*=() [2/3]

void operator*= ( const quaternion r)
inline

Definition at line 132 of file septernionI.H.

References quaternion::invTransform().

Here is the call graph for this function:

◆ operator/=() [1/2]

void operator/= ( const quaternion r)
inline

Definition at line 139 of file septernionI.H.

References quaternion::transform().

Here is the call graph for this function:

◆ operator*=() [3/3]

void operator*= ( const scalar  s)
inline

Definition at line 146 of file septernionI.H.

References s.

◆ operator/=() [2/2]

void operator/= ( const scalar  s)
inline

Definition at line 152 of file septernionI.H.

References s.

Friends And Related Function Documentation

◆ operator>>

Istream& operator>> ( Istream is,
septernion  
)
friend

◆ operator<<

Ostream& operator<< ( Ostream os,
const septernion C 
)
friend

Member Data Documentation

◆ typeName

const char *const typeName = "septernion"
static

Definition at line 77 of file septernion.H.

◆ zero

const Foam::septernion zero
static

Definition at line 79 of file septernion.H.

◆ I

const Foam::septernion I
static

The documentation for this class was generated from the following files: