IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
GeometryEntity3dListMacros.h
Go to the documentation of this file.
1 // GeometryEntity3dListMacros.h:
3 // -----------------------------
4 //
14 
15 #ifndef __IPSDKGEOMETRY_GEOMETRYENTITY3DLISTMACROS_H__
16 #define __IPSDKGEOMETRY_GEOMETRYENTITY3DLISTMACROS_H__
17 
20 #define IPSDK_ENUMERATE_GEOMETRY_ENTITY_3D_MACRO(s, prefix, EntityType) \
21  prefix EntityType;
22 
25 
28 #define IPSDK_ENUMERATE_GEOMETRY_ENTITY_3D_TYPES() \
29  BOOST_PP_SEQ_FOR_EACH(IPSDK_ENUMERATE_GEOMETRY_ENTITY_3D_MACRO, \
30  template <typename T> class, \
31  IPSDK_GEOMETRY_TEMPLATE_ENTITY_3D_LIST); \
32  BOOST_PP_SEQ_FOR_EACH(IPSDK_ENUMERATE_GEOMETRY_ENTITY_3D_MACRO, \
33  class, \
34  IPSDK_GEOMETRY_ENTITY_3D_LIST);
35 
38 
41 #define IPSDK_ENUMERATE_FRIEND_GEOMETRY_ENTITY_3D_TYPES() \
42  BOOST_PP_SEQ_FOR_EACH(IPSDK_ENUMERATE_GEOMETRY_ENTITY_3D_MACRO, \
43  template <typename T> friend class, \
44  IPSDK_GEOMETRY_TEMPLATE_ENTITY_3D_LIST); \
45  BOOST_PP_SEQ_FOR_EACH(IPSDK_ENUMERATE_GEOMETRY_ENTITY_3D_MACRO, \
46  friend class, \
47  IPSDK_GEOMETRY_ENTITY_3D_LIST);
48 
51 
55 #define IPSDK_GEOMETRY_TEMPLATE_ENTITY_3D_LIST \
56  (Point3d) \
57  (BoundingBox3d) \
58  (PointCloud3d) \
59  (Sphere3d) \
60  (Ellipsoid3d) \
61  (Cube3d) \
62  (Cuboid3d) \
63  (Mesh3d) \
64  (MeshWithHoles3d) \
65  (Segment3d) \
66  (Triangle3d)
67 
71 #define IPSDK_GEOMETRY_ENTITY_3D_LIST \
72  (Vector3d) \
73  (Plan3d) \
74  (Shape3d)
75 
78 
79 #endif // __IPSDKGEOMETRY_GEOMETRYENTITY3DLISTMACROS_H__