IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ShapeMeasureSetAttributeHdrMacros.h
Go to the documentation of this file.
1 // ShapeMeasureSetAttributeHdrMacros.h:
3 // ------------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_SHAPEMEASURESETATTRIBUTEHDRMACROS_H__
17 #define __IPSDKIMAGEPROCESSING_SHAPEMEASURESETATTRIBUTEHDRMACROS_H__
18 
20 #include <IPSDKImageProcessing/Attribute/ShapeMeasureSet/InputShapeMeasureSetAttribute.h>
21 #include <IPSDKImageProcessing/Attribute/ShapeMeasureSet/InOutShapeMeasureSetAttribute.h>
22 #include <IPSDKImageProcessing/Attribute/ShapeMeasureSet/OutputShapeMeasureSetAttribute.h>
24 
27 
30 #define IPSDK_DECLARE_SHAPEMEASURESET_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 BaseShapeMeasureSetAttributeClassType; \
36 protected: \
37  className(); \
38 public: \
39  ~className();
40 
43 
46 #define IPSDK_DECLARE_MANDATORY_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, baseClassName, RuleString) \
47 class IPSDK_LIB_API(libraryName) className : public baseClassName { \
48  IPSDK_DECLARE_SHAPEMEASURESET_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \
49  IPSDK_DECLARE_MANDATORY_DATA(); \
50 };
51 
54 #define IPSDK_DECLARE_OPTIONAL_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, baseClassName, RuleString) \
55 class IPSDK_LIB_API(libraryName) className : public baseClassName { \
56  IPSDK_DECLARE_SHAPEMEASURESET_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \
57  IPSDK_DECLARE_OPTIONAL_DATA(); \
58 };
59 
61 // Mandatory attributes
63 
66 #define IPSDK_DECLARE_INPUT_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, RuleString) \
67  IPSDK_DECLARE_MANDATORY_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, \
68  ipsdk::imaproc::InputShapeMeasureSetAttribute, \
69  RuleString)
70 
73 #define IPSDK_DECLARE_INOUT_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, RuleString) \
74  IPSDK_DECLARE_MANDATORY_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, \
75  ipsdk::imaproc::InOutShapeMeasureSetAttribute, \
76  RuleString)
77 
80 #define IPSDK_DECLARE_OUTPUT_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, RuleString) \
81  IPSDK_DECLARE_MANDATORY_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, \
82  ipsdk::imaproc::OutputShapeMeasureSetAttribute, \
83  RuleString)
84 
86 // Optional attributes
88 
91 #define IPSDK_DECLARE_INPUT_OPTIONAL_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, RuleString) \
92  IPSDK_DECLARE_OPTIONAL_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, \
93  ipsdk::imaproc::InputShapeMeasureSetAttribute, \
94  RuleString)
95 
98 #define IPSDK_DECLARE_INOUT_OPTIONAL_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, RuleString) \
99  IPSDK_DECLARE_OPTIONAL_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, \
100  ipsdk::imaproc::InOutShapeMeasureSetAttribute, \
101  RuleString)
102 
105 #define IPSDK_DECLARE_OUTPUT_OPTIONAL_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, RuleString) \
106  IPSDK_DECLARE_OPTIONAL_SHAPEMEASURESET_ATTRIBUTE(libraryName, className, \
107  ipsdk::imaproc::OutputShapeMeasureSetAttribute, \
108  RuleString)
109 
112 
113 #endif // __IPSDKIMAGEPROCESSING_SHAPEMEASURESETATTRIBUTEHDRMACROS_H__
Header part of macros set for attribute class declaration.
Operators used to enable rules on shape measure set attributes.