soma-io 6.0.6
soma::Transformation3d Class Referenceabstract

Polymorphic base class for spatial transformations in 3D. More...

#include <soma-io/transformation/transformation.h>

Inheritance diagram for soma::Transformation3d:
Collaboration diagram for soma::Transformation3d:

Public Member Functions

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
 
Point3di transform (const Point3di &p) const
 
Point3di transform (int x, int y, int z) const
 
virtual std::vector< double > transform (const std::vector< double > &pos) const
 
virtual std::vector< float > transform (const std::vector< float > &pos) const
 
virtual std::vector< int > transform (const std::vector< int > &pos) const
 
virtual std::vector< double > transformVector (const std::vector< double > &pos) const
 
virtual std::vector< float > transformVector (const std::vector< float > &pos) const
 
virtual std::vector< int > transformVector (const std::vector< int > &pos) const
 
- Public Member Functions inherited from soma::Transformation
virtual ~Transformation ()
 
virtual Transformationoperator= (const Transformation &other)
 
virtual bool isIdentity () const
 Test if the transformation can safely be omitted.
 
carto::Object header ()
 
const carto::Object header () const
 
void setHeader (carto::Object ph)
 
virtual bool invertible () const
 Test if the transformation can be inverted.
 
virtual std::unique_ptr< TransformationgetInverse () const
 Obtain the inverse transformation.
 
virtual bool isDirect () const =0
 true if the transformation is direct, false if it changes orientation
 
- Public Member Functions inherited from carto::RCObject
 RCObject ()
 
 RCObject (const RCObject &)
 
RCObjectoperator= (const RCObject &)
 
virtual ~RCObject ()
 

Protected Member Functions

 Transformation3d ()
 
virtual Point3dd transformDouble (double x, double y, double z) const =0
 
virtual Point3dd transformPoint3dd (const Point3dd &pos) const
 
virtual Point3df transformPoint3df (const Point3df &dir) const
 
virtual Point3d transformPoint3d (const Point3d &p) const
 
virtual Point3di transformPoint3di (const Point3di &p) const
 
virtual Point3df transformFloat (float x, float y, float z) const
 
virtual Point3di transformInt (int x, int y, int z) const
 
- Protected Member Functions inherited from soma::Transformation
 Transformation ()
 

Additional Inherited Members

- Public Types inherited from carto::RCObject
typedef int RefCounterType
 
- Static Public Member Functions inherited from soma::Transformation
template<typename T>
static std::vector< T > vadd (const std::vector< T > &v1, const std::vector< T > &v2)
 vector arithmetics, as convenience static functions
 
template<typename T>
static std::vector< T > vsub (const std::vector< T > &v1, const std::vector< T > &v2)
 vector arithmetics, as convenience static functions
 
template<typename T>
static std::vector< T > vadd (const std::vector< T > &v1, const T &v2)
 vector arithmetics, as convenience static functions
 
template<typename T>
static std::vector< T > vsub (const std::vector< T > &v1, const T &v2)
 vector arithmetics, as convenience static functions
 
template<typename T>
static std::vector< T > vadd (const T &v1, const std::vector< T > &v2)
 vector arithmetics, as convenience static functions
 
template<typename T>
static std::vector< T > vsub (const T &v1, const std::vector< T > &v2)
 vector arithmetics, as convenience static functions
 
- Protected Attributes inherited from soma::Transformation
carto::Object _header
 

Detailed Description

Polymorphic base class for spatial transformations in 3D.

Definition at line 154 of file transformation.h.

Constructor & Destructor Documentation

◆ ~Transformation3d()

virtual soma::Transformation3d::~Transformation3d ( )
virtual

References transform(), and transformVector().

◆ Transformation3d()

soma::Transformation3d::Transformation3d ( )
inlineprotected

Definition at line 180 of file transformation.h.

References soma::Transformation::Transformation().

Member Function Documentation

◆ transform() [1/10]

Point3d soma::Transformation3d::transform ( const Point3d & p) const
inline

Definition at line 287 of file transformation.h.

References transform(), and transformPoint3d().

◆ transform() [2/10]

Point3dd soma::Transformation3d::transform ( const Point3dd & pos) const
inline

Definition at line 280 of file transformation.h.

References transform(), and transformPoint3dd().

◆ transform() [3/10]

Point3df soma::Transformation3d::transform ( const Point3df & dir) const
inline

Definition at line 273 of file transformation.h.

References transform(), and transformPoint3df().

◆ transform() [4/10]

Point3di soma::Transformation3d::transform ( const Point3di & p) const
inline

Definition at line 294 of file transformation.h.

References transform(), and transformPoint3di().

◆ transform() [5/10]

std::vector< double > soma::Transformation3d::transform ( const std::vector< double > & pos) const
inlinevirtual

Implements soma::Transformation.

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 358 of file transformation.h.

References transform().

◆ transform() [6/10]

std::vector< float > soma::Transformation3d::transform ( const std::vector< float > & pos) const
inlinevirtual

Reimplemented from soma::Transformation.

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 370 of file transformation.h.

References transform().

◆ transform() [7/10]

std::vector< int > soma::Transformation3d::transform ( const std::vector< int > & pos) const
inlinevirtual

Reimplemented from soma::Transformation.

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 382 of file transformation.h.

References transform().

◆ transform() [8/10]

◆ transform() [9/10]

Point3df soma::Transformation3d::transform ( float x,
float y,
float z ) const
inline

Definition at line 260 of file transformation.h.

References transform(), and transformFloat().

◆ transform() [10/10]

Point3di soma::Transformation3d::transform ( int x,
int y,
int z ) const
inline

Definition at line 267 of file transformation.h.

References transform(), and transformInt().

◆ transformDouble()

virtual Point3dd soma::Transformation3d::transformDouble ( double x,
double y,
double z ) const
protectedpure virtual

◆ transformFloat()

Point3df soma::Transformation3d::transformFloat ( float x,
float y,
float z ) const
inlineprotectedvirtual

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 318 of file transformation.h.

References transform(), and transformFloat().

Referenced by transform(), transformDouble(), and transformFloat().

◆ transformInt()

Point3di soma::Transformation3d::transformInt ( int x,
int y,
int z ) const
inlineprotectedvirtual

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 348 of file transformation.h.

References transform(), and transformInt().

Referenced by transform(), transformDouble(), and transformInt().

◆ transformPoint3d()

Point3d soma::Transformation3d::transformPoint3d ( const Point3d & p) const
inlineprotectedvirtual

Definition at line 326 of file transformation.h.

References transform(), and transformPoint3d().

Referenced by transform(), transformDouble(), and transformPoint3d().

◆ transformPoint3dd()

Point3dd soma::Transformation3d::transformPoint3dd ( const Point3dd & pos) const
inlineprotectedvirtual

Definition at line 311 of file transformation.h.

References transform(), and transformPoint3dd().

Referenced by transform(), transformDouble(), and transformPoint3dd().

◆ transformPoint3df()

Point3df soma::Transformation3d::transformPoint3df ( const Point3df & dir) const
inlineprotectedvirtual

Definition at line 301 of file transformation.h.

References transform(), and transformPoint3df().

Referenced by transform(), transformDouble(), and transformPoint3df().

◆ transformPoint3di()

Point3di soma::Transformation3d::transformPoint3di ( const Point3di & p) const
inlineprotectedvirtual

Definition at line 337 of file transformation.h.

References transform(), and transformPoint3di().

Referenced by transform(), transformDouble(), and transformPoint3di().

◆ transformVector() [1/3]

std::vector< double > soma::Transformation3d::transformVector ( const std::vector< double > & pos) const
inlinevirtual

Reimplemented from soma::Transformation.

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 394 of file transformation.h.

References transform(), and transformVector().

Referenced by transformVector(), transformVector(), transformVector(), and ~Transformation3d().

◆ transformVector() [2/3]

std::vector< float > soma::Transformation3d::transformVector ( const std::vector< float > & pos) const
inlinevirtual

Reimplemented from soma::Transformation.

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 407 of file transformation.h.

References transform(), and transformVector().

◆ transformVector() [3/3]

std::vector< int > soma::Transformation3d::transformVector ( const std::vector< int > & pos) const
inlinevirtual

Reimplemented from soma::Transformation.

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 420 of file transformation.h.

References transform(), and transformVector().


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