IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseStripAttribute.h
1 // BaseStripAttribute.h:
3 // ---------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASESTRIPATTRIBUTE_H__
16 #define __IPSDKIMAGEPROCESSING_BASESTRIPATTRIBUTE_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseStripAttribute::_pPlanStrip' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseStripAttribute'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKImageProcessing/Attribute/BaseImageProcessingAttribute.h>
27 
28 namespace ipsdk {
29 namespace imaproc {
30 
33 
35 {
36  // declare dynamic class
38 
39 // predefined public types
40 public:
42  static const eImageProcessingAttributeType::domain g_imageProcessingAttributeType = eImageProcessingAttributeType::eIPAT_Strip;
43 
44 // constructor and destructor
45 protected:
48 public:
50  virtual ~BaseStripAttribute() = 0;
51 
52 // methods
53 public:
55  eImageProcessingAttributeType getImageProcessingAttributeType() const;
56 
58  virtual eStripAttributeType getStripAttributeType() const = 0;
59 
63  const image::BaseImageStrip& getImageStrip() const;
64 
68  const image::eImageBufferType& getImageBufferType() const;
69 
70 protected:
74  void initBase(const image::ImageStripPtr& pImageStrip);
75 
81  image::ImageStripConstPtr accessImageStripPtr() const;
82  image::ImageStripPtr accessImageStripPtr();
84 
88  image::BaseImageStrip& accessImageStrip();
89 
91  void clearDerived();
92 
93 // attributes
94 private:
96  image::ImageStripPtr _pImageStrip;
97 };
98 
101 
104 {
106 }
107 
110 
111 } // end of namespace imaproc
112 } // end of namespace ipsdk
113 
114 #pragma warning (pop)
115 
116 #endif // __IPSDKIMAGEPROCESSING_BASESTRIPATTRIBUTE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
static const eImageProcessingAttributeType::domain g_imageProcessingAttributeType
image processing attribute type
Definition: BaseStripAttribute.h:42
Base class for image processing attributes.
Definition: BaseImageProcessingAttribute.h:28
eStripAttributeType
Enumerate describing strip attributes type.
Definition: StripAttributeTypes.h:44
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
Attribute associated to an image strip.
Definition: ImageProcessingAttributeTypes.h:45
eImageProcessingAttributeType getImageProcessingAttributeType() const
retrieve image attribute type
Definition: BaseStripAttribute.h:103
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Predefined types for image strips management.
eImageProcessingAttributeType
Enumerate describing image attributes type.
Definition: ImageProcessingAttributeTypes.h:33
boost::shared_ptr< BaseImageStrip > ImageStripPtr
Definition: ImageStripTypes.h:105
Base class for image strip fragments.
Definition: BaseImageStrip.h:34
Predefined types for image strip attributes management.
Predefined type for image management.
Base class for image strip attributes.
Definition: BaseStripAttribute.h:34
boost::shared_ptr< const BaseImageStrip > ImageStripConstPtr
Definition: ImageStripTypes.h:106
eImageBufferType
types associated to image buffers
Definition: ImageTypes.h:78