ITrafo Class Referenceabstract

Interface for generic geometry object coordinate transformation. More...

#include "Transformation.hpp"

Public Member Functions

virtual int trafoDim () const =0
 returns the dimension of transformation. This info helps to optimize the actual transformation process of the geometry objects More...
 
virtual bool usedChunkedTrafo () const =0
 returns flag if the chunked transform function should be use the chunked transformation may results in high performance
 
virtual void transform (double &x, double &y, double &z, bool inv=false) const =0
 performs single point coordinate transformation (mandatory interface) please note that coordinates must not be changed if not effected by the transformation More...
 
virtual void transform (size_t count, double *x, double *y, double *z, bool inv=false) const =0
 performs chunked coordinate transformation (optional interface) please note that coordinates must not be changed if not effected by the transformation More...
 

Detailed Description

Interface for generic geometry object coordinate transformation.

Member Function Documentation

◆ trafoDim()

virtual int trafoDim ( ) const
pure virtual

returns the dimension of transformation. This info helps to optimize the actual transformation process of the geometry objects

Returns
1 if only z values are changed
2 for 2d transformations
3 if all coordinate values may be changed

◆ transform() [1/2]

virtual void transform ( double &  x,
double &  y,
double &  z,
bool  inv = false 
) const
pure virtual

performs single point coordinate transformation (mandatory interface) please note that coordinates must not be changed if not effected by the transformation

Parameters
[in,out]xx-coordinate
[in,out]yy-coordinate
[in,out]zz-coordinate
[in]invinversion flag if transformation should be inverted

◆ transform() [2/2]

virtual void transform ( size_t  count,
double *  x,
double *  y,
double *  z,
bool  inv = false 
) const
pure virtual

performs chunked coordinate transformation (optional interface) please note that coordinates must not be changed if not effected by the transformation

Parameters
[in]countnumber of points
[in,out]xx-coordinate array
[in,out]yy-coordinate array
[in,out]zz-coordinate array
[in]invinversion flag if transformation should be inverted