anatomist  5.1.2
3D neuroimaging data viewer
anatomist::Transformation Class Reference

Transformation between two referentials. More...

#include <anatomist/reference/Transformation.h>

Collaboration diagram for anatomist::Transformation:

Public Member Functions

 Transformation (Referential *, Referential *, bool regist=false, bool generated=false)
 
 Transformation (Referential *, Referential *, const Transformation &trans)
 
 Transformation ()
 
virtual ~Transformation ()
 Unregister from the TransformSet and other objects. More...
 
Transformationoperator= (const Transformation &trans)
 Operator = doesn't copy source / dest references. More...
 
Transformationoperator*= (const Transformation &trans)
 
Transformation operator- () const
 
Motionmotion ()
 
const Motionmotion () const
 
void setRotation (float **r)
 
void setTranslation (float *t)
 
void setMatrix (float **m)
 4x4 matrix More...
 
void setMatrixT (float m[4][3])
 4x3 matrix in Vip/Aims file form (1st line:translation) More...
 
void SetRotation (int, int, float)
 Set the rotation. More...
 
void SetTranslation (int, float)
 Set the translation. More...
 
float Rotation (int, int)
 Get the rotation. More...
 
aims::Quaternion quaternion () const
 
void setQuaternion (const aims::Quaternion &q)
 
float Translation (int)
 Get the translation. More...
 
Point3df translation () const
 
Referentialsource () const
 
Referentialdestination () const
 
void invert ()
 Inverts the transformation matrix. More...
 
void invertReferentials ()
 Inverts source and destination referentials. More...
 
bool isDirect () const
 true if the transformation is direct, false if it changes orientation More...
 
Point3df transform (const Point3df &pos) const
 Transforms a point. More...
 
void transformBoundingBox (const Point3df &pmin1, const Point3df &pmax1, Point3df &pmin2, Point3df &pmax2)
 
void registerTrans ()
 Registers the transformation to the TransformSet. More...
 
void unregisterTrans ()
 
bool isGenerated () const
 
void setGenerated (bool x)
 
void addMotionToHistory (const Motion &)
 Adds a new motion to motion history. More...
 
void undo ()
 Undoes last motion. More...
 
void redo ()
 Redoes last motion. More...
 
std::size_t motionHistorySize () const
 Returns the motion history size. More...
 
int motionHistoryIndex () const
 Returns the current motion history index. More...
 
void notifyChange ()
 

Static Public Member Functions

static Point3df transform (const Point3df &pos, const Transformation *tra, const Point3df &voxSizeOrg, const Point3df &voxSizeDst)
 Static transform function: with transformation, org and dest geometries. More...
 
static Point3df transform (const Point3df &pos, const Referential *orgRef, const Referential *dstRef, const Point3df &voxSizeOrg, const Point3df &voxSizeDst)
 slower than above: must find the transformation (not inline) More...
 
static Point3df transform (const Point3df &pos, const Point3df &voxSizeOrg, const Point3df &voxSizeDst)
 no transformation, only geometries More...
 
static Point3df transform (const Point3df &pos, const Transformation *tra, const Point3df &voxSizeDst)
 transformation, dest geometry but no org geometry More...
 
static Point3df transform (const Point3df &pos, const Point3df &voxSizeOrg, const Transformation *tra)
 transformation, org geometry but no dest geometry More...
 
static Point3df transform (const Point3df &pos, const Point3df &voxSizeOrg)
 no transformation, no dest geometry but org geometry More...
 
static Point3df transformDG (const Point3df &pos, const Point3df &voxSizeDst)
 no transformation, no org geometry but dest geometry. More...
 

Protected Attributes

Motion _motion
 
Referential_source
 
Referential_dest
 
bool _generated
 
std::vector< Motion_motionHistory
 
int _motionHistoryIndex
 

Detailed Description

Transformation between two referentials.

Actually linear transformations up to now, but could be extended. All transformations are registered and stored into the TransformSet singleton object

Definition at line 61 of file Transformation.h.

Constructor & Destructor Documentation

◆ Transformation() [1/3]

anatomist::Transformation::Transformation ( Referential ,
Referential ,
bool  regist = false,
bool  generated = false 
)

◆ Transformation() [2/3]

anatomist::Transformation::Transformation ( Referential ,
Referential ,
const Transformation trans 
)

◆ Transformation() [3/3]

anatomist::Transformation::Transformation ( )

◆ ~Transformation()

virtual anatomist::Transformation::~Transformation ( )
virtual

Unregister from the TransformSet and other objects.

Member Function Documentation

◆ addMotionToHistory()

void anatomist::Transformation::addMotionToHistory ( const Motion )

Adds a new motion to motion history.

◆ destination()

Referential* anatomist::Transformation::destination ( ) const
inline

Definition at line 98 of file Transformation.h.

References _dest.

◆ invert()

void anatomist::Transformation::invert ( )

Inverts the transformation matrix.

◆ invertReferentials()

void anatomist::Transformation::invertReferentials ( )

Inverts source and destination referentials.

◆ isDirect()

bool anatomist::Transformation::isDirect ( ) const

true if the transformation is direct, false if it changes orientation

◆ isGenerated()

bool anatomist::Transformation::isGenerated ( ) const
inline

Definition at line 116 of file Transformation.h.

References _generated.

◆ motion() [1/2]

Motion& anatomist::Transformation::motion ( )
inline

Definition at line 77 of file Transformation.h.

References _motion.

◆ motion() [2/2]

const Motion& anatomist::Transformation::motion ( ) const
inline

Definition at line 78 of file Transformation.h.

References _motion.

◆ motionHistoryIndex()

int anatomist::Transformation::motionHistoryIndex ( ) const
inline

Returns the current motion history index.

Definition at line 131 of file Transformation.h.

References _motionHistoryIndex.

◆ motionHistorySize()

std::size_t anatomist::Transformation::motionHistorySize ( ) const
inline

Returns the motion history size.

Definition at line 126 of file Transformation.h.

References _motionHistory.

◆ notifyChange()

void anatomist::Transformation::notifyChange ( )

◆ operator*=()

Transformation& anatomist::Transformation::operator*= ( const Transformation trans)

◆ operator-()

Transformation anatomist::Transformation::operator- ( ) const

◆ operator=()

Transformation& anatomist::Transformation::operator= ( const Transformation trans)

Operator = doesn't copy source / dest references.

◆ quaternion()

aims::Quaternion anatomist::Transformation::quaternion ( ) const

◆ redo()

void anatomist::Transformation::redo ( )

Redoes last motion.

◆ registerTrans()

void anatomist::Transformation::registerTrans ( )

Registers the transformation to the TransformSet.

◆ Rotation()

float anatomist::Transformation::Rotation ( int  ,
int   
)

Get the rotation.

◆ setGenerated()

void anatomist::Transformation::setGenerated ( bool  x)
inline

Definition at line 117 of file Transformation.h.

References _generated.

◆ setMatrix()

void anatomist::Transformation::setMatrix ( float **  m)

4x4 matrix

◆ setMatrixT()

void anatomist::Transformation::setMatrixT ( float  m[4][3])

4x3 matrix in Vip/Aims file form (1st line:translation)

◆ setQuaternion()

void anatomist::Transformation::setQuaternion ( const aims::Quaternion q)

◆ setRotation()

void anatomist::Transformation::setRotation ( float **  r)

◆ SetRotation()

void anatomist::Transformation::SetRotation ( int  ,
int  ,
float   
)

Set the rotation.

◆ setTranslation()

void anatomist::Transformation::setTranslation ( float *  t)

◆ SetTranslation()

void anatomist::Transformation::SetTranslation ( int  ,
float   
)

Set the translation.

◆ source()

Referential* anatomist::Transformation::source ( ) const
inline

Definition at line 97 of file Transformation.h.

References _source.

◆ transform() [1/7]

Point3df anatomist::Transformation::transform ( const Point3df pos) const

Transforms a point.

Referenced by transform().

◆ transform() [2/7]

Point3df anatomist::Transformation::transform ( const Point3df pos,
const Point3df voxSizeOrg 
)
inlinestatic

no transformation, no dest geometry but org geometry

Definition at line 228 of file Transformation.h.

◆ transform() [3/7]

Point3df anatomist::Transformation::transform ( const Point3df pos,
const Point3df voxSizeOrg,
const Point3df voxSizeDst 
)
inlinestatic

no transformation, only geometries

Definition at line 197 of file Transformation.h.

◆ transform() [4/7]

Point3df anatomist::Transformation::transform ( const Point3df pos,
const Point3df voxSizeOrg,
const Transformation tra 
)
inlinestatic

transformation, org geometry but no dest geometry

Definition at line 208 of file Transformation.h.

References transform().

◆ transform() [5/7]

static Point3df anatomist::Transformation::transform ( const Point3df pos,
const Referential orgRef,
const Referential dstRef,
const Point3df voxSizeOrg,
const Point3df voxSizeDst 
)
static

slower than above: must find the transformation (not inline)

◆ transform() [6/7]

Point3df anatomist::Transformation::transform ( const Point3df pos,
const Transformation tra,
const Point3df voxSizeDst 
)
inlinestatic

transformation, dest geometry but no org geometry

Definition at line 218 of file Transformation.h.

References transform().

◆ transform() [7/7]

Point3df anatomist::Transformation::transform ( const Point3df pos,
const Transformation tra,
const Point3df voxSizeOrg,
const Point3df voxSizeDst 
)
inlinestatic

Static transform function: with transformation, org and dest geometries.

These functions are designed to help various situations of transformations and geometry changes. They are as fast as possible (inline, direct, with the fewest required data copying and temporary variables)

Definition at line 184 of file Transformation.h.

References transform().

◆ transformBoundingBox()

void anatomist::Transformation::transformBoundingBox ( const Point3df pmin1,
const Point3df pmax1,
Point3df pmin2,
Point3df pmax2 
)

◆ transformDG()

Point3df anatomist::Transformation::transformDG ( const Point3df pos,
const Point3df voxSizeDst 
)
inlinestatic

no transformation, no org geometry but dest geometry.

The function name changes here to differ from the one above

Definition at line 237 of file Transformation.h.

◆ translation()

Point3df anatomist::Transformation::translation ( ) const
inline

Definition at line 245 of file Transformation.h.

References _motion, and aims::AffineTransformation3d::translation().

◆ Translation()

float anatomist::Transformation::Translation ( int  )

Get the translation.

◆ undo()

void anatomist::Transformation::undo ( )

Undoes last motion.

◆ unregisterTrans()

void anatomist::Transformation::unregisterTrans ( )

Member Data Documentation

◆ _dest

Referential* anatomist::Transformation::_dest
protected

Definition at line 173 of file Transformation.h.

Referenced by destination().

◆ _generated

bool anatomist::Transformation::_generated
protected

Definition at line 174 of file Transformation.h.

Referenced by isGenerated(), and setGenerated().

◆ _motion

Motion anatomist::Transformation::_motion
protected

Definition at line 171 of file Transformation.h.

Referenced by motion(), and translation().

◆ _motionHistory

std::vector<Motion> anatomist::Transformation::_motionHistory
protected

Definition at line 175 of file Transformation.h.

Referenced by motionHistorySize().

◆ _motionHistoryIndex

int anatomist::Transformation::_motionHistoryIndex
protected

Definition at line 176 of file Transformation.h.

Referenced by motionHistoryIndex().

◆ _source

Referential* anatomist::Transformation::_source
protected

Definition at line 172 of file Transformation.h.

Referenced by source().


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