IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
FormulaAttributeHdrMacros.h
Go to the documentation of this file.
1 // FormulaAttributeHdrMacros.h:
3 // ----------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_FORMULAATTRIBUTEHDRMACROS_H__
17 #define __IPSDKIMAGEPROCESSING_FORMULAATTRIBUTEHDRMACROS_H__
18 
20 #include <IPSDKImageProcessing/Attribute/Formula/BaseMeasureFormulaAttribute.h>
21 #include <IPSDKImageProcessing/Attribute/Formula/BaseImageFormula2dAttribute.h>
22 #include <IPSDKImageProcessing/Attribute/Formula/BaseImageFormula3dAttribute.h>
24 
27 
30 #define IPSDK_DECLARE_FORMULA_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \
31  IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className) \
32  IPSDK_DECLARE_TOOLTIP() \
33  IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString) \
34 public: \
35  typedef baseClassName BaseFormulaAttributeClassType; \
36 protected: \
37  className(); \
38 public: \
39  ~className();
40 
42 // Mandatory attributes
44 
47 #define IPSDK_DECLARE_INPUT_MEASURE_FORMULA_ATTRIBUTE(libraryName, className, RuleString) \
48 class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BaseMeasureFormulaAttribute { \
49  IPSDK_DECLARE_INPUT_DATA(); \
50  IPSDK_DECLARE_MANDATORY_DATA(); \
51  IPSDK_DECLARE_FORMULA_ATTRIBUTE_BODY(libraryName, className, \
52  ipsdk::imaproc::BaseMeasureFormulaAttribute, \
53  RuleString) \
54 };
55 
58 #define IPSDK_DECLARE_INPUT_IMAGE_FORMULA_2D_ATTRIBUTE(libraryName, className, RuleString) \
59 class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BaseImageFormula2dAttribute { \
60  IPSDK_DECLARE_INPUT_DATA(); \
61  IPSDK_DECLARE_MANDATORY_DATA(); \
62  IPSDK_DECLARE_FORMULA_ATTRIBUTE_BODY(libraryName, className, \
63  ipsdk::imaproc::BaseImageFormula2dAttribute, \
64  RuleString) \
65 };
66 
69 #define IPSDK_DECLARE_INPUT_IMAGE_FORMULA_3D_ATTRIBUTE(libraryName, className, RuleString) \
70 class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BaseImageFormula3dAttribute { \
71  IPSDK_DECLARE_INPUT_DATA(); \
72  IPSDK_DECLARE_MANDATORY_DATA(); \
73  IPSDK_DECLARE_FORMULA_ATTRIBUTE_BODY(libraryName, className, \
74  ipsdk::imaproc::BaseImageFormula3dAttribute, \
75  RuleString) \
76 };
77 
79 // Optional attributes
81 
84 #define IPSDK_DECLARE_INPUT_OPTIONAL_MEASURE_FORMULA_ATTRIBUTE(libraryName, className, RuleString) \
85 class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BaseMeasureFormulaAttribute { \
86  IPSDK_DECLARE_INPUT_DATA(); \
87  IPSDK_DECLARE_OPTIONAL_DATA(); \
88  IPSDK_DECLARE_FORMULA_ATTRIBUTE_BODY(libraryName, className, \
89  ipsdk::imaproc::BaseMeasureFormulaAttribute, \
90  RuleString) \
91 };
92 
95 #define IPSDK_DECLARE_INPUT_OPTIONAL_IMAGE_FORMULA_2D_ATTRIBUTE(libraryName, className, RuleString) \
96 class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BaseImageFormula2dAttribute { \
97  IPSDK_DECLARE_INPUT_DATA(); \
98  IPSDK_DECLARE_OPTIONAL_DATA(); \
99  IPSDK_DECLARE_FORMULA_ATTRIBUTE_BODY(libraryName, className, \
100  ipsdk::imaproc::BaseImageFormula2dAttribute, \
101  RuleString) \
102 };
103 
106 #define IPSDK_DECLARE_INPUT_OPTIONAL_IMAGE_FORMULA_3D_ATTRIBUTE(libraryName, className, RuleString) \
107 class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BaseImageFormula3dAttribute { \
108  IPSDK_DECLARE_INPUT_DATA(); \
109  IPSDK_DECLARE_OPTIONAL_DATA(); \
110  IPSDK_DECLARE_FORMULA_ATTRIBUTE_BODY(libraryName, className, \
111  ipsdk::imaproc::BaseImageFormula3dAttribute, \
112  RuleString) \
113 };
114 
117 
118 #endif // __IPSDKIMAGEPROCESSING_FORMULAATTRIBUTEHDRMACROS_H__
Operators used to enable rules on formula attributes.
Header part of macros set for attribute class declaration.