aimsdata 6.0.0
Neuroimaging data handling
aims::Quaternion Class Reference

#include <aims/resampling/quaternion.h>

Collaboration diagram for aims::Quaternion:

Public Member Functions

 Quaternion ()
 
 Quaternion (const Point4df &q)
 
 Quaternion (const Quaternion &q)
 
 Quaternion (float x, float y, float z, float t)
 
 Quaternion (const AffineTransformation3d &tr)
 
 ~Quaternion ()
 
Quaternionoperator= (const Quaternion &q)
 
const Point4dfvector () const
 
void setVector (const Point4df &vec)
 
AimsVector< float, 16 > rotationMatrix () const
 in OpenGL style: in columns
 
AimsVector< float, 16 > inverseRotationMatrix () const
 
void buildFromMatrix (const float *m)
 4x4 matrix in columns (OpenGL-style)
 
void buildFromTransformation (const AffineTransformation3d &m)
 
void buildFromMotion (const AffineTransformation3d &m)
 Obsolete in aims 5.2: use buildFromTransformation() instead.
 
Point3df transform (float x, float y, float z) const
 Rotates vecotor (x,y,z)
 
Point3df transform (const Point3df &p) const
 Rotates vecotor p.
 
Point3df transformInverse (const Point3df &p) const
 
Quaternionoperator*= (const Quaternion &q)
 
void norm ()
 
Quaternion normalized () const
 
void fromAxis (const Point3df &c, float phi)
 
Quaternion inverse () const
 
Point3df axis () const
 
float angle () const
 

Static Public Member Functions

static float dot (const Quaternion &a, const Quaternion &b)
 
static float dot (const Point4df &a, const Point4df &b)
 
static Point4df cross (const Point4df &a, const Point4df &b)
 
static Point3df norm (const Point3df &a)
 

Protected Attributes

Point4df _vector
 

Friends

Quaternion operator* (const Quaternion &a, const Quaternion &b)
 

Detailed Description

Definition at line 46 of file quaternion.h.

Constructor & Destructor Documentation

◆ Quaternion() [1/5]

aims::Quaternion::Quaternion ( )

◆ Quaternion() [2/5]

aims::Quaternion::Quaternion ( const Point4df & q)

◆ Quaternion() [3/5]

aims::Quaternion::Quaternion ( const Quaternion & q)

References Quaternion().

◆ Quaternion() [4/5]

aims::Quaternion::Quaternion ( float x,
float y,
float z,
float t )

◆ Quaternion() [5/5]

aims::Quaternion::Quaternion ( const AffineTransformation3d & tr)

◆ ~Quaternion()

aims::Quaternion::~Quaternion ( )

Member Function Documentation

◆ angle()

float aims::Quaternion::angle ( ) const

◆ axis()

Point3df aims::Quaternion::axis ( ) const

◆ buildFromMatrix()

void aims::Quaternion::buildFromMatrix ( const float * m)

4x4 matrix in columns (OpenGL-style)

◆ buildFromMotion()

void aims::Quaternion::buildFromMotion ( const AffineTransformation3d & m)
inline

Obsolete in aims 5.2: use buildFromTransformation() instead.

Definition at line 68 of file quaternion.h.

References buildFromTransformation().

◆ buildFromTransformation()

void aims::Quaternion::buildFromTransformation ( const AffineTransformation3d & m)

Referenced by buildFromMotion().

◆ cross()

static Point4df aims::Quaternion::cross ( const Point4df & a,
const Point4df & b )
static

◆ dot() [1/2]

static float aims::Quaternion::dot ( const Point4df & a,
const Point4df & b )
static

◆ dot() [2/2]

static float aims::Quaternion::dot ( const Quaternion & a,
const Quaternion & b )
inlinestatic

Definition at line 84 of file quaternion.h.

References _vector, dot(), and Quaternion().

Referenced by dot().

◆ fromAxis()

void aims::Quaternion::fromAxis ( const Point3df & c,
float phi )

◆ inverse()

Quaternion aims::Quaternion::inverse ( ) const

References Quaternion().

◆ inverseRotationMatrix()

AimsVector< float, 16 > aims::Quaternion::inverseRotationMatrix ( ) const

◆ norm() [1/2]

void aims::Quaternion::norm ( )

◆ norm() [2/2]

static Point3df aims::Quaternion::norm ( const Point3df & a)
static

◆ normalized()

Quaternion aims::Quaternion::normalized ( ) const

References Quaternion().

◆ operator*=()

Quaternion & aims::Quaternion::operator*= ( const Quaternion & q)

References Quaternion().

◆ operator=()

Quaternion & aims::Quaternion::operator= ( const Quaternion & q)

References Quaternion().

◆ rotationMatrix()

AimsVector< float, 16 > aims::Quaternion::rotationMatrix ( ) const

in OpenGL style: in columns

◆ setVector()

void aims::Quaternion::setVector ( const Point4df & vec)

◆ transform() [1/2]

Point3df aims::Quaternion::transform ( const Point3df & p) const

Rotates vecotor p.

◆ transform() [2/2]

Point3df aims::Quaternion::transform ( float x,
float y,
float z ) const
inline

Rotates vecotor (x,y,z)

Definition at line 71 of file quaternion.h.

References transform().

Referenced by transform().

◆ transformInverse()

Point3df aims::Quaternion::transformInverse ( const Point3df & p) const

◆ vector()

const Point4df & aims::Quaternion::vector ( ) const
inline

Definition at line 59 of file quaternion.h.

References _vector.

Friends And Related Symbol Documentation

◆ operator*

Quaternion operator* ( const Quaternion & a,
const Quaternion & b )
friend

References Quaternion().

Member Data Documentation

◆ _vector

Point4df aims::Quaternion::_vector
protected

Definition at line 91 of file quaternion.h.

Referenced by dot(), and vector().


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