15 #ifndef __IPSDKMATH_BASEGEOMETRICTRANSFORM2D_H__ 16 #define __IPSDKMATH_BASEGEOMETRICTRANSFORM2D_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,
59 T& xOut, T& yOut)
const;
65 virtual Vector getParams()
const = 0;
68 virtual bool isInvertible()
const;
73 virtual Vector getInvParams()
const = 0;
101 #endif // __IPSDKMATH_BASEGEOMETRICTRANSFORM2D_H__ Definition of import/export macro for library.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
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
eGeometricTransform2dType
geometric transform 2d type
Definition: GeometricTransform2dTypes.h:35
#define IPSDKMATH_API
Import/Export macro for library IPSDKMath.
Definition: IPSDKMathExports.h:27
virtual bool isInvertible() const
check whether transformation can be inverted
Definition: BaseGeometricTransform2d.h:89
Definition: BaseGeometricTransform2d.h:28
boost::shared_ptr< ipsdk::math::transform::BaseGeometricTransform2d > GeometricTransform2dPtr
shared pointer to ipsdk::math::transform::BaseGeometricTransform2d
Definition: GeometricTransform2dTypes.h:96
Header part of macro set allowing to manage geometric transformation 2d.
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53