Loading...
Searching...
No Matches
septernion Class Reference

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

#include <septernion.H>

Collaboration diagram for septernion:

Public Member Functions

 septernion ()=default
 Default construct.
 septernion (const septernion &)=default
 Copy construct.
septernionoperator= (const septernion &)=default
 Copy assignment.
 septernion (const Foam::zero)
 Construct zero initialized.
 septernion (const vector &t, const quaternion &r)
 Construct given a translation vector and rotation quaternion.
 septernion (const vector &t)
 Construct a pure translation septernion given a translation vector.
 septernion (const quaternion &r)
 Construct a pure rotation septernion given a rotation quaternion.
 septernion (const spatialTransform &st)
 Construct a general septernion from the given spatialTransform.
 septernion (Istream &is)
 Construct from Istream.
const vectort () const
const quaternionr () const
vectort ()
quaternionr ()
vector transformPoint (const vector &v) const
 Transform the given coordinate point.
vector invTransformPoint (const vector &v) const
 Inverse Transform the given coordinate point.
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

Default construct.

Referenced by operator*=(), operator<<, operator=(), operator>>, and septernion().

Here is the caller graph for this function:

◆ septernion() [2/8]

septernion ( const septernion & )
default

Copy construct.

References septernion().

Here is the call graph for this function:

◆ septernion() [3/8]

septernion ( const Foam::zero )
inline

Construct zero initialized.

Definition at line 24 of file septernionI.H.

References Foam::Zero.

◆ septernion() [4/8]

septernion ( const vector & t,
const quaternion & r )
inline

Construct given a translation vector and rotation quaternion.

Definition at line 31 of file septernionI.H.

References r(), and t().

Here is the call graph for this function:

◆ septernion() [5/8]

septernion ( const vector & t)
inlineexplicit

Construct a pure translation septernion given a translation vector.

Definition at line 38 of file septernionI.H.

References I, and t().

Here is the call graph for this function:

◆ septernion() [6/8]

septernion ( const quaternion & r)
inlineexplicit

Construct a pure rotation septernion given a rotation quaternion.

Definition at line 45 of file septernionI.H.

References r(), and Foam::Zero.

Here is the call graph for this function:

◆ septernion() [7/8]

septernion ( const spatialTransform & st)
inlineexplicit

Construct a general septernion from the given spatialTransform.

Definition at line 52 of file septernionI.H.

References r().

Here is the call graph for this function:

◆ septernion() [8/8]

septernion ( Istream & is)
explicit

Construct from Istream.

Definition at line 40 of file septernion.C.

Member Function Documentation

◆ operator=() [1/3]

septernion & operator= ( const septernion & )
default

Copy assignment.

References r(), septernion(), and t().

Here is the call graph for this function:

◆ t() [1/2]

const Foam::vector & t ( ) const
inline

Definition at line 61 of file septernionI.H.

Referenced by Foam::average(), invTransformPoint(), operator+=(), operator-=(), operator=(), operator=(), Foam::operator==(), septernion(), septernion(), Foam::slerp(), and transformPoint().

Here is the caller graph for this function:

◆ r() [1/2]

const Foam::quaternion & r ( ) const
inline

◆ t() [2/2]

Foam::vector & t ( )
inline

Definition at line 73 of file septernionI.H.

◆ r() [2/2]

Foam::quaternion & r ( )
inline

Definition at line 79 of file septernionI.H.

◆ transformPoint()

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

Transform the given coordinate point.

Definition at line 85 of file septernionI.H.

References r(), and t().

Here is the call graph for this function:

◆ invTransformPoint()

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

Inverse Transform the given coordinate point.

Definition at line 91 of file septernionI.H.

References r(), and t().

Referenced by sixDoFRigidBodyMotion::transform().

Here is the call graph for this function:
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 septernion(), and 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, and t().

Here is the call graph for this function:

◆ operator+=()

void operator+= ( const vector & t)
inline

Definition at line 113 of file septernionI.H.

References t().

Here is the call graph for this function:

◆ operator-=()

void operator-= ( const vector & t)
inline

Definition at line 119 of file septernionI.H.

References t().

Here is the call graph for this function:

◆ operator=() [3/3]

void operator= ( const quaternion & r)
inline

Definition at line 125 of file septernionI.H.

References r(), and Foam::Zero.

Here is the call graph for this function:

◆ operator*=() [2/3]

void operator*= ( const quaternion & r)
inline

Definition at line 132 of file septernionI.H.

References r().

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 r().

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().

Here is the call graph for this function:

◆ operator/=() [2/2]

void operator/= ( const scalar s)
inline

Definition at line 152 of file septernionI.H.

References s().

Here is the call graph for this function:

◆ operator>>

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

References septernion().

◆ operator<<

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

References os(), and septernion().

Member Data Documentation

◆ typeName

const char *const typeName = "septernion"
static

Definition at line 81 of file septernion.H.

◆ zero

const Foam::septernion zero
static

Definition at line 83 of file septernion.H.

◆ I


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