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

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

#include <Rotation3d.h>

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

Public Types

enum  eTransformParams { eTP_Chi, eTP_Beta, eTP_Alpha }
 

Public Member Functions

 IPSDK_DECLARE_TRANSFORM3D (Rotation3d)
 
void setParams (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha)
 select parameters associated to transformation
 
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
 Rotation3d ()
 
 Rotation3d (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha)
 
 ~Rotation3d ()
 
ipReal64 getChi () const
 retrieve parameters associated to transformation
 
ipReal64 getBeta () const
 retrieve parameters associated to transformation
 
ipReal64 getAlpha () 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)
 retrieve invert of homogeneous matrix associated to transformation
 
static void getInvParams (ipReal64 &chi, ipReal64 &beta, ipReal64 &alpha)
 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, 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, ipReal64 &x, ipReal64 &y, ipReal64 &z)
 application of transformation to a point
 
static Matrix4d getHomogenousMatrix (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha)
 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)
 retrieve homogeneous matrix associated to transformation
 

Protected Attributes

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 rotation 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

Member Function Documentation

◆ setParams()

void ipsdk::math::transform::Rotation3d::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: