15 #ifndef __IPSDKMATH_TRANSLATION3D_H__ 16 #define __IPSDKMATH_TRANSLATION3D_H__ 20 #pragma warning (push) 21 #pragma warning (disable : 4251) 23 #include <IPSDKMath/Geometry/3d/Transform/BaseLinearGeometricTransform3d.h> 51 _tx(0), _ty(0), _tz(0)
56 _tx(tx), _ty(ty), _tz(tz)
78 transform(0, 0) = 1; transform(0, 1) = 0; transform(0, 2) = 0; transform(0, 3) = tx;
79 transform(1, 0) = 0; transform(1, 1) = 1; transform(1, 2) = 0; transform(1, 3) = ty;
80 transform(2, 0) = 0; transform(2, 1) = 0; transform(2, 2) = 1; transform(2, 3) = tz;
81 transform(3, 0) = 0; transform(3, 1) = 0; transform(3, 2) = 0; transform(3, 2) = 1;
90 invTransform(0, 0) = 1; invTransform(0, 1) = 0; invTransform(0, 2) = 0; invTransform(0, 3) = -tx;
91 invTransform(1, 0) = 0; invTransform(1, 1) = 1; invTransform(1, 2) = 0; invTransform(1, 3) = -ty;
92 invTransform(2, 0) = 0; invTransform(2, 1) = 0; invTransform(2, 2) = 1; invTransform(2, 3) = -tz;
93 invTransform(3, 0) = 0; invTransform(3, 1) = 0; invTransform(3, 2) = 0; invTransform(3, 2) = 1;
107 static Vector getIdentityParams();
120 void setParams(
const Vector& params);
129 Matrix4d getHomogenousMatrix()
const;
142 Matrix4d getInvHomogenousMatrix()
const;
145 Vector getInvParams()
const;
193 #pragma warning (pop) 195 #endif // __IPSDKMATH_TRANSLATION3D_H__ Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
eTransformParams
Definition: Translation3d.h:39
void setParams(const ipReal64 tx, const ipReal64 ty, const ipReal64 tz)
select parameters associated to transformation
Definition: Translation3d.h:115
ipReal64 getTy() const
retrieve parameters associated to transformation
Definition: Translation3d.h:174
Base class for linear geometric transformation 3d management.
Definition: BaseLinearGeometricTransform3d.h:27
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
IPSDKGEOMETRY_API bool apply(const BaseGeometryTransform2d &transform, BaseGeometryEntity2d &entity)
function allowing to apply in situ a given transformation on an entity
#define IPSDK_DECLARE_TRANSFORM3D(className)
macro allowing to declare a geometric transformation 3d
Definition: Transform3dHdrMacros.h:54
void setIdentity()
set transformation parameters to identity
Definition: Translation3d.h:186
ipReal64 _tx
translation coordinate along x axis
Definition: Translation3d.h:155
boost::numeric::ublas::vector< ipReal64 > Vector
vector type associated to library
Definition: LinearAlgebraTypes.h:36
static Vector getIdentityParams()
retrieve identity parameters for transformation
#define IPSDKMATH_API
Import/Export macro for library IPSDKMath.
Definition: IPSDKMathExports.h:27
boost::numeric::ublas::bounded_matrix< ipReal64, 4, 4 > Matrix4d
4d matrix (4x4) type associated to library
Definition: LinearAlgebraTypes.h:57
ipReal64 _ty
translation coordinate along y axis
Definition: Translation3d.h:158
boost::numeric::ublas::bounded_matrix< ipReal64, 3, 3 > Matrix3d
3d matrix (3x3) type associated to library
Definition: LinearAlgebraTypes.h:54
ipReal64 getTx() const
retrieve parameters associated to transformation
Definition: Translation3d.h:168
ipReal64 getTz() const
retrieve parameters associated to transformation
Definition: Translation3d.h:180
ipReal64 _tz
translation coordinate along z axis
Definition: Translation3d.h:161
Transformation class allowing to manage 3d translations.
Definition: Translation3d.h:32
#define IPSDK_ENUM(enumTypeStr, enumSeq)
macro allowing to declare an enumerate for library
Definition: EnumMacros.h:26