IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GeometryEntity2dListMacros.h
Go to the documentation of this file.
1 // GeometryEntity2dListMacros.h:
3 // -----------------------------
4 //
14 
15 #ifndef __IPSDKGEOMETRY_GEOMETRYENTITY2DLISTMACROS_H__
16 #define __IPSDKGEOMETRY_GEOMETRYENTITY2DLISTMACROS_H__
17 
20 
23 #define IPSDK_ENUMERATE_GEOMETRY_ENTITY_2D_MACRO(s, prefix, EntityType) \
24  prefix EntityType;
25 
28 
31 #define IPSDK_ENUMERATE_GEOMETRY_ENTITY_2D_TYPES() \
32  BOOST_PP_SEQ_FOR_EACH(IPSDK_ENUMERATE_GEOMETRY_ENTITY_2D_MACRO, \
33  template <typename T> class, \
34  IPSDK_GEOMETRY_TEMPLATE_ENTITY_2D_LIST); \
35  BOOST_PP_SEQ_FOR_EACH(IPSDK_ENUMERATE_GEOMETRY_ENTITY_2D_MACRO, \
36  class, \
37  IPSDK_GEOMETRY_ENTITY_2D_LIST);
38 
41 
44 #define IPSDK_ENUMERATE_FRIEND_GEOMETRY_ENTITY_2D_TYPES() \
45  BOOST_PP_SEQ_FOR_EACH(IPSDK_ENUMERATE_GEOMETRY_ENTITY_2D_MACRO, \
46  template <typename T> friend class, \
47  IPSDK_GEOMETRY_TEMPLATE_ENTITY_2D_LIST); \
48  BOOST_PP_SEQ_FOR_EACH(IPSDK_ENUMERATE_GEOMETRY_ENTITY_2D_MACRO, \
49  friend class, \
50  IPSDK_GEOMETRY_ENTITY_2D_LIST);
51 
54 
58 #define IPSDK_GEOMETRY_TEMPLATE_ENTITY_2D_LIST \
59  (Point2d) \
60  (BoundingBox2d) \
61  (PointCloud2d) \
62  (Polygon2d) \
63  (PolygonWithHoles2d) \
64  (Circle2d) \
65  (Ellipse2d) \
66  (Square2d) \
67  (Rectangle2d) \
68  (Segment2d)
69 
73 #define IPSDK_GEOMETRY_ENTITY_2D_LIST \
74  (Vector2d) \
75  (Line2d) \
76  (Parabola2d) \
77  (Shape2d) \
78  (Skeleton2d)
79 
82 
83 #endif // __IPSDKGEOMETRY_GEOMETRYENTITY2DLISTMACROS_H__