IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ImageAttributeHdrMacros.h
Go to the documentation of this file.
1 // ImageAttributeHdrMacros.h:
3 // --------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_IMAGEATTRIBUTEHDRMACROS_H__
16 #define __IPSDKIMAGEPROCESSING_IMAGEATTRIBUTEHDRMACROS_H__
17 
19 #include <IPSDKImageProcessing/Attribute/Image/InOut/BaseInOutMandatoryImageAttribute.h>
20 #include <IPSDKImageProcessing/Attribute/Image/InOut/BaseInOutOptionalImageAttribute.h>
21 #include <IPSDKImageProcessing/Attribute/Image/Input/BaseInputMandatoryImageAttribute.h>
22 #include <IPSDKImageProcessing/Attribute/Image/Input/BaseInputOptionalImageAttribute.h>
23 #include <IPSDKImageProcessing/Attribute/Image/Output/BaseOutputMandatoryImageAttribute.h>
24 #include <IPSDKImageProcessing/Attribute/Image/Output/BaseOutputOptionalImageAttribute.h>
26 
29 
32 #define IPSDK_DECLARE_IMAGE_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \
33  IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className) \
34  IPSDK_DECLARE_TOOLTIP() \
35  IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString) \
36 public: \
37  typedef baseClassName BaseImageAttributeClassType; \
38 protected: \
39  className(); \
40 public: \
41  ~className();
42 
45 #define IPSDK_DECLARE_IMAGE_ATTRIBUTE(libraryName, className, baseClassName, RuleString) \
46 class IPSDK_LIB_API(libraryName) className : public baseClassName { \
47  IPSDK_DECLARE_IMAGE_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \
48 };
49 
51 // Mandatory attributes
53 
56 #define IPSDK_DECLARE_INPUT_IMAGE_ATTRIBUTE(libraryName, className, RuleString) \
57  IPSDK_DECLARE_IMAGE_ATTRIBUTE(libraryName, className, \
58  ipsdk::imaproc::BaseInputMandatoryImageAttribute, \
59  RuleString)
60 
63 #define IPSDK_DECLARE_INOUT_IMAGE_ATTRIBUTE(libraryName, className, RuleString) \
64  IPSDK_DECLARE_IMAGE_ATTRIBUTE(libraryName, className, \
65  ipsdk::imaproc::BaseInOutMandatoryImageAttribute, \
66  RuleString)
67 
70 #define IPSDK_DECLARE_OUTPUT_IMAGE_ATTRIBUTE(libraryName, className, RuleString) \
71  IPSDK_DECLARE_IMAGE_ATTRIBUTE(libraryName, className, \
72  ipsdk::imaproc::BaseOutputMandatoryImageAttribute, \
73  RuleString)
74 
76 // Optional attributes
78 
81 #define IPSDK_DECLARE_INPUT_OPTIONAL_IMAGE_ATTRIBUTE(libraryName, className, RuleString) \
82  IPSDK_DECLARE_IMAGE_ATTRIBUTE(libraryName, className, \
83  ipsdk::imaproc::BaseInputOptionalImageAttribute, \
84  RuleString)
85 
88 #define IPSDK_DECLARE_INOUT_OPTIONAL_IMAGE_ATTRIBUTE(libraryName, className, RuleString) \
89  IPSDK_DECLARE_IMAGE_ATTRIBUTE(libraryName, className, \
90  ipsdk::imaproc::BaseInOutOptionalImageAttribute, \
91  RuleString)
92 
95 #define IPSDK_DECLARE_OUTPUT_OPTIONAL_IMAGE_ATTRIBUTE(libraryName, className, RuleString) \
96  IPSDK_DECLARE_IMAGE_ATTRIBUTE(libraryName, className, \
97  ipsdk::imaproc::BaseOutputOptionalImageAttribute, \
98  RuleString)
99 
102 
103 #endif // __IPSDKIMAGEPROCESSING_IMAGEATTRIBUTEHDRMACROS_H__
Operators used to enable rules on images.
Header part of macros set for attribute class declaration.