soma-io  5.1.2
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
 
virtual bool invertible () const
 Test if the transformation can be inverted. More...
 
virtual std::unique_ptr< Transformation3dgetInverse () const
 Obtain the inverse transformation. More...
 
- Public Member Functions inherited from soma::Transformation
virtual ~Transformation ()
 
virtual bool isIdentity () const
 Test if the transformation can safely be omitted. More...
 
carto::Object header ()
 
const carto::Object header () const
 
void setHeader (carto::Object ph)
 
- 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 Point3df transformFloat (float x, float y, float z) const
 
- Protected Member Functions inherited from soma::Transformation
 Transformation ()
 

Additional Inherited Members

- Public Types inherited from carto::RCObject
typedef int RefCounterType
 
- Protected Attributes inherited from soma::Transformation
carto::Object _header
 

Detailed Description

Polymorphic base class for spatial transformations in 3D.

Definition at line 91 of file transformation.h.

Constructor & Destructor Documentation

◆ ~Transformation3d()

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

◆ Transformation3d()

soma::Transformation3d::Transformation3d ( )
inlineprotected

Definition at line 121 of file transformation.h.

Member Function Documentation

◆ getInverse()

virtual std::unique_ptr<Transformation3d> soma::Transformation3d::getInverse ( ) const
inlinevirtual

Obtain the inverse transformation.

This method should only be called if invertible() returns true. Otherwise, it will throw an exception if the transformation is not actually invertible.

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 116 of file transformation.h.

◆ invertible()

virtual bool soma::Transformation3d::invertible ( ) const
inlinevirtual

Test if the transformation can be inverted.

getInverse() can be called if this method returns true, in order to obtain the inverse transformation.

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 107 of file transformation.h.

◆ transform() [1/5]

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

Definition at line 161 of file transformation.h.

References transformPoint3d().

◆ transform() [2/5]

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

Definition at line 154 of file transformation.h.

References transformPoint3dd().

◆ transform() [3/5]

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

Definition at line 147 of file transformation.h.

References transformPoint3df().

◆ transform() [4/5]

Point3dd soma::Transformation3d::transform ( double  x,
double  y,
double  z 
) const
inline

◆ transform() [5/5]

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

Definition at line 141 of file transformation.h.

References transformFloat().

◆ transformDouble()

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

Implemented in soma::AffineTransformation3dBase.

Referenced by transform().

◆ transformFloat()

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

Reimplemented in soma::AffineTransformation3dBase.

Definition at line 185 of file transformation.h.

References transform().

Referenced by transform().

◆ transformPoint3d()

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

Definition at line 193 of file transformation.h.

References transform().

Referenced by transform().

◆ transformPoint3dd()

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

Definition at line 178 of file transformation.h.

References transform().

Referenced by transform().

◆ transformPoint3df()

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

Definition at line 168 of file transformation.h.

References transform().

Referenced by transform().


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