IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
StructuringElementAttributeHdrMacros.h
Go to the documentation of this file.
1 // StructuringElementAttributeHdrMacros.h:
3 // ---------------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_STRUCTURINGELEMENTATTRIBUTEHDRMACROS_H__
17 #define __IPSDKIMAGEPROCESSING_STRUCTURINGELEMENTATTRIBUTEHDRMACROS_H__
18 
20 #include <IPSDKImageProcessing/Attribute/StructuringElement/StructuringElementXY/BaseMandatoryStructuringElementXYAttribute.h>
21 #include <IPSDKImageProcessing/Attribute/StructuringElement/StructuringElementXY/BaseOptionalStructuringElementXYAttribute.h>
22 #include <IPSDKImageProcessing/Attribute/StructuringElement/StructuringElementXYZ/BaseMandatoryStructuringElementXYZAttribute.h>
23 #include <IPSDKImageProcessing/Attribute/StructuringElement/StructuringElementXYZ/BaseOptionalStructuringElementXYZAttribute.h>
25 
28 
31 #define IPSDK_DECLARE_SE_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \
32  IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className) \
33  IPSDK_DECLARE_TOOLTIP() \
34  IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString) \
35 public: \
36  typedef baseClassName BaseSEAttributeClassType; \
37 protected: \
38  className(); \
39 public: \
40  ~className(); \
41  void init(const StorageType& pStructuringElementInfo);
42 
45 #define IPSDK_DECLARE_SE_ATTRIBUTE(libraryName, className, baseClassName, RuleString) \
46 class IPSDK_LIB_API(libraryName) className : public baseClassName { \
47  IPSDK_DECLARE_SE_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString) \
48 };
49 
51 // Mandatory attributes
53 
56 #define IPSDK_DECLARE_INPUT_SE_XY_ATTRIBUTE(libraryName, className, RuleString) \
57  IPSDK_DECLARE_SE_ATTRIBUTE(libraryName, className, \
58  ipsdk::imaproc::BaseMandatoryStructuringElementXYAttribute, \
59  RuleString)
60 
63 #define IPSDK_DECLARE_INPUT_SE_XYZ_ATTRIBUTE(libraryName, className, RuleString) \
64  IPSDK_DECLARE_SE_ATTRIBUTE(libraryName, className, \
65  ipsdk::imaproc::BaseMandatoryStructuringElementXYZAttribute, \
66  RuleString)
67 
69 // Optional attributes
71 
74 #define IPSDK_DECLARE_INPUT_OPTIONAL_SE_XY_ATTRIBUTE(libraryName, className, RuleString) \
75  IPSDK_DECLARE_SE_ATTRIBUTE(libraryName, className, \
76  ipsdk::imaproc::BaseOptionalStructuringElementXYAttribute, \
77  RuleString)
78 
81 #define IPSDK_DECLARE_INPUT_OPTIONAL_SE_XYZ_ATTRIBUTE(libraryName, className, RuleString) \
82  IPSDK_DECLARE_SE_ATTRIBUTE(libraryName, className, \
83  ipsdk::imaproc::BaseOptionalStructuringElementXYZAttribute, \
84  RuleString)
85 
88 
89 #endif // __IPSDKIMAGEPROCESSING_STRUCTURINGELEMENTATTRIBUTEHDRMACROS_H__
Base operators used to combined rules.
Header part of macros set for attribute class declaration.