16 #ifndef __IPSDKMATH_TRANSFORM2DHDRMACROS_H__ 17 #define __IPSDKMATH_TRANSFORM2DHDRMACROS_H__ 19 #include <IPSDKMath/Geometry/2d/Transform/Transform2dFactory.h> 20 #include <boost/make_shared.hpp> 31 struct TransformRegistrator2d
33 TransformRegistrator2d()
36 factory.registerTransform(T::g_geometricTransform2dType,
42 return boost::make_shared<T>();
55 #define IPSDK_DECLARE_TRANSFORM2D(className) \ 57 static const ipsdk::math::transform::eGeometricTransform2dType::domain g_geometricTransform2dType = \ 58 ipsdk::math::transform::Transform2d2Enum<className>::g_geometricTransform2dType; \ 59 static const ipsdk::ipUInt32 g_paramsSize = static_cast<ipsdk::ipUInt32>(eTransformParams::size); \ 60 ipsdk::math::transform::eGeometricTransform2dType getGeometricTransform2dType() const \ 62 return g_geometricTransform2dType; \ 64 ipsdk::ipUInt32 getNbParams() const \ 66 return g_paramsSize; \ 69 static ipsdk::math::transform::TransformRegistrator2d<className> g_registrator; 74 #endif // __IPSDKMATH_TRANSFORM2DHDRMACROS_H__ Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
static Transform2dFactory & getInstance()
method allowing to retrieve factory singletion instance
boost::shared_ptr< ipsdk::math::transform::BaseGeometricTransform2d > GeometricTransform2dPtr
shared pointer to ipsdk::math::transform::BaseGeometricTransform2d
Definition: GeometricTransform2dTypes.h:96