15 #ifndef __IPSDKMATH_TRANSFORM3DHDRMACROS_H__ 16 #define __IPSDKMATH_TRANSFORM3DHDRMACROS_H__ 18 #include <IPSDKMath/Geometry/3d/Transform/Transform3dFactory.h> 19 #include <boost/make_shared.hpp> 30 struct TransformRegistrator3d
32 TransformRegistrator3d()
35 factory.registerTransform(T::g_geometricTransform3dType,
41 return boost::make_shared<T>();
54 #define IPSDK_DECLARE_TRANSFORM3D(className) \ 56 static const ipsdk::math::transform::eGeometricTransform3dType::domain g_geometricTransform3dType = \ 57 ipsdk::math::transform::Transform3d2Enum<className>::g_geometricTransform3dType; \ 58 static const ipsdk::ipUInt32 g_paramsSize = static_cast<ipsdk::ipUInt32>(eTransformParams::size); \ 59 ipsdk::math::transform::eGeometricTransform3dType getGeometricTransform3dType() const \ 61 return g_geometricTransform3dType; \ 63 ipsdk::ipUInt32 getNbParams() const \ 65 return g_paramsSize; \ 68 static ipsdk::math::transform::TransformRegistrator3d<className> g_registrator; 73 #endif // __IPSDKMATH_TRANSFORM3DHDRMACROS_H__ 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
static Transform3dFactory & getInstance()
method allowing to retrieve factory singletion instance