soma-io  5.0.5
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...
 
- 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
 

Detailed Description

Polymorphic base class for spatial transformations in 3D.

Definition at line 80 of file transformation.h.

Constructor & Destructor Documentation

◆ ~Transformation3d()

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

◆ Transformation3d()

soma::Transformation3d::Transformation3d ( )
inlineprotected

Definition at line 110 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 105 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 96 of file transformation.h.

◆ transform() [1/5]

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

Definition at line 123 of file transformation.h.

◆ transform() [2/5]

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

Definition at line 143 of file transformation.h.

◆ transform() [3/5]

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

Definition at line 136 of file transformation.h.

◆ transform() [4/5]

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

Definition at line 130 of file transformation.h.

◆ transform() [5/5]

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

Definition at line 150 of file transformation.h.

◆ 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 174 of file transformation.h.

◆ transformPoint3d()

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

Definition at line 182 of file transformation.h.

◆ transformPoint3dd()

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

Definition at line 167 of file transformation.h.

◆ transformPoint3df()

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

Definition at line 157 of file transformation.h.


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