IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
TileAttributeHdrMacros.h
Go to the documentation of this file.
1 // TileAttributeHdrMacros.h:
3 // -------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_TILEATTRIBUTEHDRMACROS_H__
16 #define __IPSDKIMAGEPROCESSING_TILEATTRIBUTEHDRMACROS_H__
17 
20 
23 
26 #define IPSDK_DECLARE_TILE_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \
27  IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className); \
28  IPSDK_DECLARE_TOOLTIP(); \
29  IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString); \
30 public: \
31  typedef baseClassName BaseTileAttributeClassType; \
32 protected: \
33  className(); \
34 public: \
35  ~className();
36 
37 
40 #define IPSDK_DECLARE_TILE_ATTRIBUTE(libraryName, className, baseClassName, RuleString) \
41 class IPSDK_LIB_API(libraryName) className : public baseClassName { \
42  IPSDK_DECLARE_TILE_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString)
43 
45 // Mandatory attributes
47 
50 #define IPSDK_DECLARE_INPUT_TILE_ATTRIBUTE(tileType, libraryName, className, RuleString) \
51  IPSDK_DECLARE_TILE_ATTRIBUTE(libraryName, className, \
52  BOOST_PP_CAT(BOOST_PP_CAT(ipsdk::imaproc::BaseInput, \
53  BOOST_PP_CAT(IPSDK_BASECLASSNAME_, tileType)), \
54  Attribute), \
55  RuleString); \
56  IPSDK_DECLARE_MANDATORY_DATA(); \
57 };
58 
60 // Optional attributes
62 
65 #define IPSDK_DECLARE_INPUT_OPTIONAL_TILE_ATTRIBUTE(tileType, libraryName, className, RuleString) \
66  IPSDK_DECLARE_TILE_ATTRIBUTE(libraryName, className, \
67  BOOST_PP_CAT(BOOST_PP_CAT(ipsdk::imaproc::BaseInput, \
68  BOOST_PP_CAT(IPSDK_BASECLASSNAME_, tileType)), \
69  Attribute), \
70  RuleString); \
71  IPSDK_DECLARE_OPTIONAL_DATA(); \
72 };
73 
76 
77 #endif // __IPSDKIMAGEPROCESSING_TILEATTRIBUTEHDRMACROS_H__
Operators used to enable rules on image tiles.
Header part of macros set for attribute class declaration.