IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
ipsdk::math::transform::Rigid3d Class Reference

Transformation class allowing to manage 3d rigid transformations. More...

#include <Rigid3d.h>

Inheritance diagram for ipsdk::math::transform::Rigid3d:
ipsdk::math::transform::BaseLinearGeometricTransform3d ipsdk::math::transform::BaseGeometricTransform3d

Public Types

enum  eTransformParams {
  eTP_Chi, eTP_Beta, eTP_Alpha, eTP_Tx,
  eTP_Ty, eTP_Tz
}
 

Public Member Functions

 IPSDK_DECLARE_TRANSFORM3D (Rigid3d)
 
void setParams (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha, const ipReal64 tx, const ipReal64 ty, const ipReal64 tz)
 select parameters associated to transformation
 
void setCenteredRotation (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha, const ipReal64 centerX, const ipReal64 centerY, const ipReal64 centerZ)
 initialization of rigid transformation as a rotation centered on a given point
 
void setParams (const Vector &params)
 select parameters associated to transformation More...
 
void setIdentity ()
 set transformation parameters to identity
 
void apply (ipReal64 &x, ipReal64 &y, ipReal64 &z) const
 apply transformation to a given point
 
Matrix4d getHomogenousMatrix () const
 retrieve homogeneous matrix associated to transformation
 
Vector getParams () const
 retrieve parameters associated to transformation
 
Matrix4d getInvHomogenousMatrix () const
 retrieve invert of homogeneous matrix associated to transformation
 
Vector getInvParams () const
 retrieve invert parameters associated to transformation
 
Constructors and destructor
 Rigid3d ()
 
 Rigid3d (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha, const ipReal64 tx, const ipReal64 ty, const ipReal64 tz)
 
 ~Rigid3d ()
 
ipReal64 getChi () const
 retrieve parameters associated to transformation
 
ipReal64 getBeta () const
 retrieve parameters associated to transformation
 
ipReal64 getAlpha () const
 retrieve parameters associated to transformation
 
ipReal64 getTx () const
 retrieve parameters associated to transformation
 
ipReal64 getTy () const
 retrieve parameters associated to transformation
 
ipReal64 getTz () const
 retrieve parameters associated to transformation
 
- Public Member Functions inherited from ipsdk::math::transform::BaseLinearGeometricTransform3d
bool isLinear () const
 retrieve flag indicating whether geometric transform is linear
 
 BaseLinearGeometricTransform3d ()
 
virtual ~BaseLinearGeometricTransform3d ()=0
 
- Public Member Functions inherited from ipsdk::math::transform::BaseGeometricTransform3d
virtual eGeometricTransform3dType getGeometricTransform3dType () const =0
 retrieve geometric transform 3d type
 
virtual ipUInt32 getNbParams () const =0
 retrieve number of parameters associated to geometric transformation
 
template<typename T >
void apply (const T xIn, const T yIn, const T zIn, T &xOut, T &yOut, T &zOut) const
 apply transformation to a given point
 
virtual bool isInvertible () const
 check whether transformation can be inverted
 
GeometricTransform3dPtr createInverted () const
 create an inversed transformation from current one More...
 
 BaseGeometricTransform3d ()
 
virtual ~BaseGeometricTransform3d ()
 

Static Public Member Functions

static Matrix4d getInvHomogenousMatrix (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha, const ipReal64 tx, const ipReal64 ty, const ipReal64 tz)
 retrieve invert of homogeneous matrix associated to transformation
 
static void getInvParams (ipReal64 &chi, ipReal64 &beta, ipReal64 &alpha, ipReal64 &tx, ipReal64 &ty, ipReal64 &tz)
 retrieve invert parameters for transformation
 
static Vector getIdentityParams ()
 retrieve identity parameters for transformation
 
static void transform (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha, const ipReal64 tx, const ipReal64 ty, const ipReal64 tz, ipReal64 &x, ipReal64 &y, ipReal64 &z)
 application of transformation to a point
 
static void transform (const ipReal64 cosChi, const ipReal64 sinChi, const ipReal64 cosBeta, const ipReal64 sinBeta, const ipReal64 cosAlpha, const ipReal64 sinAlpha, const ipReal64 tx, const ipReal64 ty, const ipReal64 tz, ipReal64 &x, ipReal64 &y, ipReal64 &z)
 application of transformation to a point
 
static Matrix4d getHomogenousMatrix (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha, const ipReal64 tx, const ipReal64 ty, const ipReal64 tz)
 retrieve homogeneous matrix associated to transformation
 
static Matrix4d getHomogenousMatrix (const ipReal64 cosChi, const ipReal64 sinChi, const ipReal64 cosBeta, const ipReal64 sinBeta, const ipReal64 cosAlpha, const ipReal64 sinAlpha, const ipReal64 tx, const ipReal64 ty, const ipReal64 tz)
 retrieve homogeneous matrix associated to transformation
 

Protected Attributes

ipReal64 _tx
 translation coordinate along x axis
 
ipReal64 _ty
 translation coordinate along y axis
 
ipReal64 _tz
 translation coordinate along y axis
 
ipReal64 _chi
 angles of rotation in radians
 
ipReal64 _beta
 angles of rotation in radians
 
ipReal64 _alpha
 angles of rotation in radians
 
ipReal64 _cosChi
 computation intermediates
 
ipReal64 _sinChi
 computation intermediates
 
ipReal64 _cosBeta
 computation intermediates
 
ipReal64 _sinBeta
 computation intermediates
 
ipReal64 _cosAlpha
 computation intermediates
 
ipReal64 _sinAlpha
 computation intermediates
 

Additional Inherited Members

- Static Public Attributes inherited from ipsdk::math::transform::BaseLinearGeometricTransform3d
static const bool g_bLinear = true
 linear status for transformation
 

Detailed Description

Transformation class allowing to manage 3d rigid transformations.

Author
E.Noirfalise
Date
2017/01/17

Member Enumeration Documentation

◆ eTransformParams

parameters list associated to transformation

Note
This object is associated to a strong enumerate definition
See also
IPSDK_Enum
Enumerator
eTP_Chi 

angle of rotation in radians

eTP_Beta 

angle of rotation in radians

eTP_Alpha 

angle of rotation in radians

eTP_Tx 

translation along x axis

eTP_Ty 

translation along y axis

eTP_Tz 

translation along z axis

Member Function Documentation

◆ setParams()

void ipsdk::math::transform::Rigid3d::setParams ( const Vector params)
virtual

select parameters associated to transformation

Exceptions
ipsdk::math::IPSDKMathExceptionif params.size() != getNbParams()

Implements ipsdk::math::transform::BaseGeometricTransform3d.


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