IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseTileAttribute.h
1 // BaseTileAttribute.h:
3 // --------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASETILEATTRIBUTE_H__
16 #define __IPSDKIMAGEPROCESSING_BASETILEATTRIBUTE_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseTileAttribute::_pImageTile' : class 'boost::shared_ptr<ipsdk::image::BaseImageTile>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseTileAttribute'
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 serial class
38 
39 // predefined public types
40 public:
42  static const eImageProcessingAttributeType::domain g_imageProcessingAttributeType = eImageProcessingAttributeType::eIPAT_Tile;
43 
44 // constructor and destructor
45 protected:
48 public:
50  virtual ~BaseTileAttribute() = 0;
51 
52 // methods
53 public:
55  eImageProcessingAttributeType getImageProcessingAttributeType() const;
56 
58  virtual eTileAttributeType getTileAttributeType() const = 0;
59 
63  const image::BaseImageTile& getImageTile() const;
64 
68  const image::eImageBufferType& getImageBufferType() const;
69 
70 protected:
74  void initBase(const image::ImageTilePtr& pImageTile);
75 
80  image::ImageTileConstPtr accessImageTilePtr() const;
81  image::ImageTilePtr accessImageTilePtr();
83 
85  void clearDerived();
86 
87 // attributeso
88 private:
90  image::ImageTilePtr _pImageTile;
91 };
92 
95 
98 {
100 }
101 
104 
105 } // end of namespace imaproc
106 } // end of namespace ipsdk
107 
108 #pragma warning (pop)
109 
110 #endif // __IPSDKIMAGEPROCESSING_BASETILEATTRIBUTE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
static const eImageProcessingAttributeType::domain g_imageProcessingAttributeType
image processing attribute type
Definition: BaseTileAttribute.h:42
Base class for image processing attributes.
Definition: BaseImageProcessingAttribute.h:28
Attribute associated to an image tile.
Definition: ImageProcessingAttributeTypes.h:47
boost::shared_ptr< BaseImageTile > ImageTilePtr
Definition: ImageTileTypes.h:140
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
eTileAttributeType
Enumerate describing tile attributes type.
Definition: TileAttributeTypes.h:37
Predefined types for image tile attributes management.
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
eImageProcessingAttributeType
Enumerate describing image attributes type.
Definition: ImageProcessingAttributeTypes.h:33
Predefined types for image tile management.
Base class for image tile.
Definition: BaseImageTile.h:27
boost::shared_ptr< const BaseImageTile > ImageTileConstPtr
Definition: ImageTileTypes.h:141
Base class for image tile attributes.
Definition: BaseTileAttribute.h:34
eImageProcessingAttributeType getImageProcessingAttributeType() const
retrieve image attribute type
Definition: BaseTileAttribute.h:97
Predefined type for image management.
eImageBufferType
types associated to image buffers
Definition: ImageTypes.h:78