![]() |
aimsdata
5.1.2
Neuroimaging data handling
|
Container for a composition of multiple transformations. More...
#include <aims/transformation/transformation_chain.h>
Public Types | |
typedef std::list< carto::const_ref< Transformation3d > > | ListType |
typedef ListType::iterator | iterator |
typedef ListType::const_iterator | const_iterator |
![]() | |
typedef int | RefCounterType |
Public Member Functions | |
TransformationChain3d () | |
virtual | ~TransformationChain3d () |
void | push_back (const carto::const_ref< Transformation3d > &transformation) |
Add a transformation to the back of the list (applied last) More... | |
void | pop_back () |
Remove the last transformation from the list. More... | |
void | push_front (const carto::const_ref< Transformation3d > &transformation) |
Add a transformation to the front of the list (applied first) More... | |
void | pop_front () |
Remove the first transformation from the list. More... | |
size_t | size () const |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
bool | isIdentity () const CARTO_OVERRIDE |
bool | invertible () const CARTO_OVERRIDE |
std::unique_ptr< soma::Transformation3d > | getInverse () const CARTO_OVERRIDE |
carto::const_ref< soma::Transformation3d > | simplify () const |
Compute a simpler transformation that is equivalent to the chain. More... | |
![]() | |
virtual | ~Transformation3d () |
Point3dd | transform (double x, double y, double z) const |
Point3dd | transform (const Point3dd &pos) const |
Point3df | transform (const Point3df &dir) const |
Point3df | transform (float x, float y, float z) const |
Point3d | transform (const Point3d &p) const |
![]() | |
virtual | ~Transformation () |
carto::Object | header () |
const carto::Object | header () const |
void | setHeader (carto::Object ph) |
![]() | |
RCObject () | |
RCObject (const RCObject &) | |
RCObject & | operator= (const RCObject &) |
virtual | ~RCObject () |
Protected Member Functions | |
Point3dd | transformDouble (double x, double y, double z) const CARTO_OVERRIDE |
Point3df | transformFloat (float x, float y, float z) const CARTO_OVERRIDE |
Point3dd | transformPoint3dd (const Point3dd &pos) const CARTO_OVERRIDE |
Point3df | transformPoint3df (const Point3df &dir) const CARTO_OVERRIDE |
void | setReferentialsInHeader () |
![]() | |
Transformation3d () | |
virtual Point3d | transformPoint3d (const Point3d &p) const |
![]() | |
Transformation () | |
Protected Attributes | |
ListType | _transformations |
![]() | |
carto::Object | _header |
Container for a composition of multiple transformations.
This container holds a list of transformations, and acts as the composition of all transformations. Transformations are composed from the front to the back of the list:
Definition at line 65 of file transformation_chain.h.
typedef ListType::const_iterator aims::TransformationChain3d::const_iterator |
Definition at line 70 of file transformation_chain.h.
typedef ListType::iterator aims::TransformationChain3d::iterator |
Definition at line 69 of file transformation_chain.h.
typedef std::list<carto::const_ref<Transformation3d> > aims::TransformationChain3d::ListType |
Definition at line 68 of file transformation_chain.h.
aims::TransformationChain3d::TransformationChain3d | ( | ) |
|
virtual |
|
inline |
Definition at line 84 of file transformation_chain.h.
References _transformations.
|
inline |
Definition at line 85 of file transformation_chain.h.
References _transformations.
|
inline |
Definition at line 86 of file transformation_chain.h.
References _transformations.
|
inline |
Definition at line 87 of file transformation_chain.h.
References _transformations.
|
virtual |
Reimplemented from soma::Transformation3d.
|
virtual |
Reimplemented from soma::Transformation3d.
|
virtual |
Reimplemented from soma::Transformation.
void aims::TransformationChain3d::pop_back | ( | ) |
Remove the last transformation from the list.
void aims::TransformationChain3d::pop_front | ( | ) |
Remove the first transformation from the list.
void aims::TransformationChain3d::push_back | ( | const carto::const_ref< Transformation3d > & | transformation | ) |
Add a transformation to the back of the list (applied last)
void aims::TransformationChain3d::push_front | ( | const carto::const_ref< Transformation3d > & | transformation | ) |
Add a transformation to the front of the list (applied first)
|
protected |
carto::const_ref<soma::Transformation3d> aims::TransformationChain3d::simplify | ( | ) | const |
Compute a simpler transformation that is equivalent to the chain.
The transformation chain is simplified by applying the following rules, so that it should provide equivalent results to the original chain, up to numerical precision:
No deep copy is made, so the result can contain pointers to the same transformations as the original chain.
size_t aims::TransformationChain3d::size | ( | ) | const |
|
protectedvirtual |
Implements soma::Transformation3d.
|
protectedvirtual |
Reimplemented from soma::Transformation3d.
|
protectedvirtual |
Reimplemented from soma::Transformation3d.
|
protectedvirtual |
Reimplemented from soma::Transformation3d.
|
protected |
Definition at line 124 of file transformation_chain.h.