aimsdata  5.0.5
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 ()
 
Quaternionoperator= (const Quaternion &q)
 
const Point4dfvector () const
 
void setVector (const Point4df &vec)
 
AimsVector< float, 16 > rotationMatrix () const
 in OpenGL style: in columns More...
 
AimsVector< float, 16 > inverseRotationMatrix () const
 
void buildFromMatrix (const float *m)
 4x4 matrix in columns (OpenGL-style) More...
 
void buildFromMotion (const Motion &m)
 
Point3df transform (float x, float y, float z) const
 Rotates vecotor (x,y,z) More...
 
Point3df transform (const Point3df &p) const
 Rotates vecotor p. More...
 
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 &, const Quaternion &)
 

Detailed Description

Definition at line 51 of file quaternion.h.

Constructor & Destructor Documentation

◆ Quaternion() [1/4]

aims::Quaternion::Quaternion ( )

◆ Quaternion() [2/4]

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

◆ Quaternion() [3/4]

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

◆ Quaternion() [4/4]

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

◆ ~Quaternion()

aims::Quaternion::~Quaternion ( )

Member Function Documentation

◆ angle()

float aims::Quaternion::angle ( ) const

Referenced by transform().

◆ axis()

Point3df aims::Quaternion::axis ( ) const

Referenced by transform().

◆ buildFromMatrix()

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

4x4 matrix in columns (OpenGL-style)

Referenced by vector().

◆ buildFromMotion()

void aims::Quaternion::buildFromMotion ( const Motion m)

Referenced by vector().

◆ cross()

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

Referenced by dot().

◆ dot() [1/2]

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

Definition at line 85 of file quaternion.h.

References _vector, cross(), and norm().

◆ dot() [2/2]

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

◆ fromAxis()

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

Referenced by transform().

◆ inverse()

Quaternion aims::Quaternion::inverse ( ) const

Referenced by transform().

◆ inverseRotationMatrix()

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

Referenced by vector().

◆ norm() [1/2]

void aims::Quaternion::norm ( )

Referenced by dot(), and transform().

◆ norm() [2/2]

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

◆ normalized()

Quaternion aims::Quaternion::normalized ( ) const

Referenced by transform().

◆ operator*=()

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

Referenced by transform().

◆ operator=()

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

◆ rotationMatrix()

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

in OpenGL style: in columns

Referenced by vector().

◆ setVector()

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

Referenced by vector().

◆ transform() [1/2]

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

Rotates vecotor (x,y,z)

Definition at line 72 of file quaternion.h.

References angle(), axis(), fromAxis(), inverse(), norm(), normalized(), operator*=(), and transformInverse().

◆ transform() [2/2]

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

Rotates vecotor p.

◆ transformInverse()

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

Referenced by transform().

◆ vector()

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

Friends And Related Function Documentation

◆ operator*

Quaternion operator* ( const Quaternion ,
const Quaternion  
)
friend

Member Data Documentation

◆ _vector

Point4df aims::Quaternion::_vector
protected

Definition at line 92 of file quaternion.h.

Referenced by dot(), and vector().


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