IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseKernelXYAttribute.h
1 // BaseKernelXYAttribute.h:
3 // ------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASEKERNELXYATTRIBUTE_H__
16 #define __IPSDKIMAGEPROCESSING_BASEKERNELXYATTRIBUTE_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseKernelXYAttribute::_pKernel' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseKernelXYAttribute'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Attribute/Kernel/BaseKernelAttribute.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 ~BaseKernelXYAttribute() = 0;
51 
52 // methods
53 public:
55  eKernelType getKernelType() const;
56 
60  const ValueType& getKernel() const;
61 
65  const StorageType& getStorage() const;
66 
67 protected:
71  void initBase(const StorageType& pKernel);
72 
74  void clearDerived();
75 
76 // attributes
77 protected:
80 };
81 
84 
85 inline eKernelType
87 {
88  return eKernelType::eKT_XY;
89 }
90 
93 
94 } // end of namespace imaproc
95 } // end of namespace ipsdk
96 
97 #pragma warning (pop)
98 
99 #endif // __IPSDKIMAGEPROCESSING_BASEKERNELXYATTRIBUTE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Class encapsulating a 2d kernel spanning along x and y axis.
Definition: KernelXY.h:34
StorageType _pKernel
kernel associated to attribute
Definition: BaseKernelXYAttribute.h:79
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
eKernelType
Enumerate describing kernel type.
Definition: KernelTypes.h:34
2d kernel type spanning x and y direction
Definition: KernelTypes.h:36
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
eKernelType getKernelType() const
retrieve kernel attribute type
Definition: BaseKernelXYAttribute.h:86
boost::shared_ptr< const KernelXY > KernelXYConstPtr
shared pointer to KernelXY
Definition: KernelTypes.h:49
KernelXYConstPtr StorageType
storage type associated to object
Definition: BaseKernelXYAttribute.h:42
Base class for XY kernel attributes.
Definition: BaseKernelXYAttribute.h:31
KernelXY ValueType
value type associated to object
Definition: BaseKernelXYAttribute.h:39
Base class for kernel attributes.
Definition: BaseKernelAttribute.h:29