IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseStaticImageStripSplit.h
1 // BaseStaticImageStripSplit.h:
3 // ----------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASESTATICIMAGESTRIPSPLIT_H__
16 #define __IPSDKIMAGEPROCESSING_BASESTATICIMAGESTRIPSPLIT_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseStaticImageStripSplit<InputDataType>::_pImage' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseStaticImageStripSplit<InputDataType>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
25 #include <IPSDKBaseProcessing/DataSplit/Static/BaseStaticSplit.h>
28 
29 namespace ipsdk {
30 namespace imaproc {
31 
34 
35 template <typename InputDataType>
37 {
38 // predefined public types
39 public:
41  typedef InputDataType InputType;
42 
43 public:
47  virtual ~BaseStaticImageStripSplit() = 0;
49 
50 // methods
51 public:
54  {
56  }
57 
60  {
62  }
63 
65  virtual eStaticImageStripSplitType getStaticImageStripSplitType() const = 0;
66 
70  const image::BaseImage& getImage() const;
71 
72 protected:
76  void initBase(const boost::shared_ptr<InputDataType>& pImage,
77  const processor::ElementsLocationInfo& elementsLocationInfo);
78 
82  const boost::shared_ptr<InputDataType>& getImagePtr() const;
83 
84 // attributes
85 private:
87  boost::shared_ptr<InputDataType> _pImage;
88 };
89 
92 
93 } // end of namespace imaproc
94 } // end of namespace ipsdk
95 
96 #pragma warning (pop)
97 
98 #endif // __IPSDKIMAGEPROCESSING_BASESTATICIMAGESTRIPSPLIT_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
processor::eSplitStaticType getSplitStaticType() const
retrieve static split operation type
Definition: BaseStaticImageStripSplit.h:53
eStaticImageStripSplitType
Enumerate describing static image sstrip split type.
Definition: StaticImageStripSplitTypes.h:35
Definition of import/export macro for library.
eSplitStaticType
Enumerate describing static split operation type.
Definition: StaticSplitTypes.h:32
Split operation of an image into strips.
Definition: ImageSplitTypes.h:37
Base class for data static split objets used for data dispatch.
Definition: BaseStaticSplit.h:34
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Predefined types for image strips management.
eImageSplitType
Enumerate describing image split operation type.
Definition: ImageSplitTypes.h:33
Predefined types for static image strip split operations.
Base class for static image strip split operations for data dispatch.
Definition: BaseStaticImageStripSplit.h:36
Static split operation type for image processing elements.
Definition: StaticSplitTypes.h:40
Base class for images data type.
Definition: BaseImage.h:43
Predefined type for image management.
Class allowing to store elements location informations.
Definition: ElementsLocationInfo.h:32
eImageSplitType getImageSplitType() const
retrieve image split operation type
Definition: BaseStaticImageStripSplit.h:59
InputDataType InputType
input data type for split operation
Definition: BaseStaticImageStripSplit.h:41