15 #ifndef __IPSDKGEOMETRY_GEOMETRYMEASURE2DSRCMACROS_H__ 16 #define __IPSDKGEOMETRY_GEOMETRYMEASURE2DSRCMACROS_H__ 21 #include <IPSDKGeometry/Entity/2d/Point/Point2d.h> 22 #include <IPSDKGeometry/Entity/2d/Vector/Vector2d.h> 23 #include <IPSDKGeometry/Entity/2d/BoundingBox/BoundingBox2d.h> 24 #include <IPSDKGeometry/Entity/2d/PointCloud/PointCloud2d.h> 25 #include <IPSDKGeometry/Entity/2d/Polygon/Polygon2d.h> 26 #include <IPSDKGeometry/Entity/2d/PolygonWithHoles/PolygonWithHoles2d.h> 27 #include <IPSDKGeometry/Entity/2d/Shape/Shape2d.h> 28 #include <IPSDKGeometry/Entity/2d/Circle/Circle2d.h> 29 #include <IPSDKGeometry/Entity/2d/Ellipse/Ellipse2d.h> 30 #include <IPSDKGeometry/Entity/2d/Square/Square2d.h> 31 #include <IPSDKGeometry/Entity/2d/Rectangle/Rectangle2d.h> 38 #define IPSDK_IMPLEMENT_GEOMETRY_MEASURE_2D(libraryName, namespaceSeq, className, version) \ 39 IPSDK_IMPLEMENT_SERIAL_WITH_COPY(libraryName, namespaceSeq, className, version) \ 40 bool className::measure(const BaseGeometryEntity2d& entity, DataType& result) const \ 42 return entity.visit(*this, result); \ 44 className::DataType className::measure(const BaseGeometryEntity2d& entity) \ 47 className measureObject; \ 48 IPSDKGEOMETRY_CHECK(measureObject.measure(entity, result) == true, \ 49 [eMeasureMessage::eMeasureFailed] % \ 50 measureObject.getMeasure2dType().str() % \ 51 entity.getEntity2dType().str()); \ 60 #define IPSDK_REGISTER_GEOMETRY_MEASURE_2D_MACRO(r, classInfo, type) \ 61 template IPSDKGEOMETRY_API bool \ 62 BOOST_PP_SEQ_ELEM(0, classInfo)::process<type>( \ 63 const BOOST_PP_SEQ_ELEM(1, classInfo)<type>& entity, \ 64 BOOST_PP_SEQ_ELEM(0, classInfo)::DataType& result) const; 68 #define IPSDK_REGISTER_GEOMETRY_MEASURE_2D(className, entityType, typeSeq) \ 69 BOOST_PP_SEQ_FOR_EACH(IPSDK_REGISTER_GEOMETRY_MEASURE_2D_MACRO, \ 70 (className)(entityType), typeSeq); 75 #endif // __IPSDKGEOMETRY_GEOMETRYMEASURE2DSRCMACROS_H__ Logger api for library IPSDKGeometry.
Log messages description.
Source part of macros set for class serialization.