15 #ifndef __IPSDKMATH_BASEGEOMETRICTRANSFORM3D_H__ 16 #define __IPSDKMATH_BASEGEOMETRICTRANSFORM3D_H__ 43 virtual ipUInt32 getNbParams()
const = 0;
46 virtual bool isLinear()
const = 0;
51 virtual void setParams(
const Vector& params) = 0;
54 virtual void setIdentity() = 0;
58 void apply(
const T xIn,
const T yIn,
const T zIn,
59 T& xOut, T& yOut, T& zOut)
const;
65 virtual Vector getParams()
const = 0;
68 virtual bool isInvertible()
const;
73 virtual Vector getInvParams()
const = 0;
101 #endif // __IPSDKMATH_BASEGEOMETRICTRANSFORM3D_H__ Definition of import/export macro for library.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::shared_ptr< ipsdk::math::transform::BaseGeometricTransform3d > GeometricTransform3dPtr
shared pointer to ipsdk::math::transform::BaseGeometricTransform3d
Definition: GeometricTransform3dTypes.h:96
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
boost::numeric::ublas::vector< ipReal64 > Vector
vector type associated to library
Definition: LinearAlgebraTypes.h:36
#define IPSDKMATH_API
Import/Export macro for library IPSDKMath.
Definition: IPSDKMathExports.h:27
Base class for geometric transformation 3d management.
Definition: BaseGeometricTransform3d.h:28
Macro set allowing to manage geometric transformation 3d.
virtual bool isInvertible() const
check whether transformation can be inverted
Definition: BaseGeometricTransform3d.h:89
eGeometricTransform3dType
geometric transform 3d type
Definition: GeometricTransform3dTypes.h:35
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53