IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Namespaces | Functions
Angles3d.h File Reference

Utility functions used to handle angles 3d. More...

#include <IPSDKMath/IPSDKMathExports.h>
#include <IPSDKMath/Geometry/Angles.h>
#include <IPSDKMath/Geometry/3d/Point3d.h>
#include <IPSDKMath/Tools/MathUtils.h>
#include <IPSDKMath/LinearAlgebra/LinearAlgebraTypes.h>

Go to the source code of this file.

Namespaces

 ipsdk
 Main namespace for IPSDK library.
 
 ipsdk::math
 Namespace agregating IPSDK mathematical routines and classes.
 

Functions

template<typename TOut , typename TIn >
IPSDK_FORCEINLINE void ipsdk::math::cartesianToSpherical (const TIn x, const TIn y, const TIn z, TOut &rho, TOut &theta, TOut &phi)
 cartesian to spherical convertion More...
 
IPSDKMATH_API void ipsdk::math::eulerToQuaternion (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha, ipReal64 &q0, ipReal64 &q1, ipReal64 &q2, ipReal64 &q3)
 Convertion from euler angles to a quaternion representation. More...
 
IPSDKMATH_API void ipsdk::math::quaternionToEuler (const ipReal64 q0, const ipReal64 q1, const ipReal64 q2, const ipReal64 q3, ipReal64 &chi, ipReal64 &beta, ipReal64 &alpha)
 Convertion from quaternion representation to euler angles. More...
 
template<typename TOut , typename TIn >
IPSDK_FORCEINLINE TOut ipsdk::math::sphericalToXCartesian (const TIn rho, const TIn cosTheta, const TIn sinTheta, const TIn cosPhi, const TIn sinPhi)
 spherical to cartesian convertion More...
 
template<typename TOut , typename TIn >
IPSDK_FORCEINLINE TOut ipsdk::math::sphericalToYCartesian (const TIn rho, const TIn cosTheta, const TIn sinTheta, const TIn cosPhi, const TIn sinPhi)
 spherical to cartesian convertion More...
 
template<typename TOut , typename TIn >
IPSDK_FORCEINLINE TOut ipsdk::math::sphericalToZCartesian (const TIn rho, const TIn cosTheta, const TIn sinTheta, const TIn cosPhi, const TIn sinPhi)
 spherical to cartesian convertion More...
 
template<typename TOut , typename TIn >
IPSDK_FORCEINLINE void ipsdk::math::sphericalToCartesian (const TIn rho, const TIn cosTheta, const TIn sinTheta, const TIn cosPhi, const TIn sinPhi, TOut &x, TOut &y, TOut &z)
 spherical to cartesian convertion More...
 
template<typename TOut , typename TIn >
IPSDK_FORCEINLINE void ipsdk::math::sphericalToCartesian (const TIn rho, const TIn theta, const TIn phi, TOut &x, TOut &y, TOut &z)
 spherical to cartesian convertion More...
 
template<typename T >
IPSDK_FORCEINLINE void ipsdk::math::eulerToMatrix (const T cosChi, const T sinChi, const T cosBeta, const T sinBeta, const T cosAlpha, const T sinAlpha, T &rxx, T &rxy, T &rxz, T &ryx, T &ryy, T &ryz, T &rzx, T &rzy, T &rzz)
 Convertion from euler angles to rotation matrix. More...
 
template<typename T >
IPSDK_FORCEINLINE void ipsdk::math::eulerToMatrix (const T chi, const T beta, const T alpha, T &rxx, T &rxy, T &rxz, T &ryx, T &ryy, T &ryz, T &rzx, T &rzy, T &rzz)
 Convertion from euler angles to rotation matrix. More...
 
IPSDK_FORCEINLINE Matrix3d ipsdk::math::eulerToMatrix (const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha)
 Convertion from euler angles to rotation matrix. More...
 
template<typename T >
IPSDK_FORCEINLINE void ipsdk::math::matrixToEuler (const T rxx, const T rxy, const T rxz, const T ryx, const T ryy, const T ryz, const T rzx, const T rzy, const T rzz, T &chi, T &beta, T &alpha)
 Convertion from rotation matrix to euler angles. More...
 
IPSDK_FORCEINLINE void ipsdk::math::matrixToEuler (const Matrix3d &matRot, ipReal64 &chi, ipReal64 &beta, ipReal64 &alpha)
 Convertion from rotation matrix to euler angles. More...
 
template<typename T >
IPSDK_FORCEINLINE void ipsdk::math::rotate3d (const T xIn, const T yIn, const T zIn, const ipReal64 rxx, const ipReal64 rxy, const ipReal64 rxz, const ipReal64 ryx, const ipReal64 ryy, const ipReal64 ryz, const ipReal64 rzx, const ipReal64 rzy, const ipReal64 rzz, T &xOut, T &yOut, T &zOut)
 rotation of a point using a rotation angle (rotation around origin) More...
 
template<typename T >
IPSDK_FORCEINLINE void ipsdk::math::rotate3dInSitu (const ipReal64 rxx, const ipReal64 rxy, const ipReal64 rxz, const ipReal64 ryx, const ipReal64 ryy, const ipReal64 ryz, const ipReal64 rzx, const ipReal64 rzy, const ipReal64 rzz, T &x, T &y, T &z)
 rotation of a point using a rotation angle (rotation around origin) More...
 
template<typename T >
IPSDK_FORCEINLINE void ipsdk::math::rotate3d (const T xIn, const T yIn, const T zIn, const ipReal64 cosChi, const ipReal64 sinChi, const ipReal64 cosBeta, const ipReal64 sinBeta, const ipReal64 cosAlpha, const ipReal64 sinAlpha, T &xOut, T &yOut, T &zOut)
 rotation of a point using a rotation angle (rotation around origin) More...
 
template<typename T >
IPSDK_FORCEINLINE void ipsdk::math::rotate3dInSitu (const ipReal64 cosChi, const ipReal64 sinChi, const ipReal64 cosBeta, const ipReal64 sinBeta, const ipReal64 cosAlpha, const ipReal64 sinAlpha, T &x, T &y, T &z)
 rotation of a point using a rotation angle (rotation around origin) More...
 
template<typename T >
IPSDK_FORCEINLINE void ipsdk::math::rotate3d (const T xIn, const T yIn, const T zIn, const ipReal64 chi, const ipReal64 beta, const ipReal64 alpha, T &xOut, T &yOut, T &zOut)
 rotation of a point using a rotation angle (rotation around origin) More...
 

Detailed Description

Utility functions used to handle angles 3d.

Author
E. Noirfalise
Date
2015/04/17