IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseStructuringElementXYAttribute.h
1 // BaseStructuringElementXYAttribute.h:
3 // ------------------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASESTRUCTURINGELEMENTXYATTRIBUTE_H__
16 #define __IPSDKIMAGEPROCESSING_BASESTRUCTURINGELEMENTXYATTRIBUTE_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseStructuringElementXYAttribute::_pStructuringElementInfo' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseStructuringElementXYAttribute'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Attribute/StructuringElement/BaseStructuringElementAttribute.h>
24 
25 namespace ipsdk {
26 namespace imaproc {
27 
30 
32 {
33  // declare serial class
35 
36 // predefined public types
37 public:
40 
43 
44 protected:
47 
48 public:
50  virtual ~BaseStructuringElementXYAttribute() = 0;
51 
52 // methods
53 public:
55  eStructuringElementType getStructuringElementType() const;
56 
60  const ValueType& getStructuringElementInfo() const;
61 
65  const StructuringElementXY& getStructuringElement() const;
66 
70  const StorageType& getStorage() const;
71 
72 protected:
78  void initBase(const StorageType& pStructuringElementInfo);
79 
81  void clearDerived();
82 
83 // attributes
84 protected:
87 };
88 
91 
94 {
96 }
97 
100 
101 } // end of namespace imaproc
102 } // end of namespace ipsdk
103 
104 #pragma warning (pop)
105 
106 #endif // __IPSDKIMAGEPROCESSING_BASESTRUCTURINGELEMENTXYATTRIBUTE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
StorageType _pStructuringElementInfo
structuring element associated to attribute
Definition: BaseStructuringElementXYAttribute.h:86
2d binary structuring element type spanning x and y direction
Definition: StructuringElementTypes.h:39
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
Concrete class for objects encapsulating informations about 2d binary structuring element objects...
Definition: StructuringElementXYInfo.h:35
boost::shared_ptr< const StructuringElementXYInfo > StructuringElementXYInfoConstPtr
shared pointer to StructuringElementXYInfo
Definition: StructuringElementInfoTypes.h:77
StructuringElementXYInfoConstPtr StorageType
storage type associated to object
Definition: BaseStructuringElementXYAttribute.h:42
Base class for XY structuring element (SE) attributes.
Definition: BaseStructuringElementXYAttribute.h:31
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
StructuringElementXYInfo ValueType
value type associated to object
Definition: BaseStructuringElementXYAttribute.h:39
Class encapsulating a 2d structuring element spanning along x and y axis.
Definition: StructuringElementXY.h:32
Base class for structuring element attributes.
Definition: BaseStructuringElementAttribute.h:29
eStructuringElementType getStructuringElementType() const
retrieve structuring element attribute type
Definition: BaseStructuringElementXYAttribute.h:93
eStructuringElementType
Enumerate describing binary structuring element type.
Definition: StructuringElementTypes.h:37