IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseInOutTile2dCollAttribute.h
1 // BaseInOutTile2dCollAttribute.h:
3 // -------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_BASEINOUTTILE2DCOLLATTRIBUTE_H__
17 #define __IPSDKIMAGEPROCESSING_BASEINOUTTILE2DCOLLATTRIBUTE_H__
18 
19 #include <IPSDKImageProcessing/Attribute/TileColl/Tile2dColl/BaseTile2dCollAttribute.h>
20 
21 namespace ipsdk {
22 namespace imaproc {
23 
26 
28 {
29  // declare serial class
31 
32  // declare in/out data
34 
35 // predefined public types
36 public:
39 
41  typedef std::vector<image::InOutImageTile2dPtr> ValueType;
42 
44  typedef std::vector<image::InOutImageTile2dPtr> StorageType;
45 
47  typedef std::vector<image::InOutImageTile2dConstPtr> ConstStorageType;
48 
49 // constructor and destructor
50 protected:
53 public:
55  virtual ~BaseInOutTile2dCollAttribute() = 0;
56 
57 // methods
58 public:
66  void init(const StorageType& imageTileColl);
67 
72  const image::InOutImageTile2d& getImageTile2d(const ipUInt32 tileIdx) const;
73  image::InOutImageTile2d& getImageTile2d(const ipUInt32 tileIdx);
75 
80  const ConstStorageType& getStorage() const;
81  const StorageType& getStorage();
83 
84 private:
87  BoolResult syncInputDerived(const Guid& processingSocketGuid);
88 
91  BoolResult syncOutputDerived(const Guid& processingSocketGuid);
92 
93 // attributes
94 protected:
95 
96 };
97 
100 
101 } // end of namespace imaproc
102 } // end of namespace ipsdk
103 
104 #endif // __IPSDKIMAGEPROCESSING_BASEINOUTTILE2DCOLLATTRIBUTE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Base class for attributes associated to collection of image 2d tile.
Definition: BaseTile2dCollAttribute.h:27
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
#define IPSDK_DECLARE_INOUT_DATA()
macro allowing to declare an in/out data
Definition: DataStatusHdrMacros.h:120
std::vector< image::InOutImageTile2dPtr > StorageType
storage type associated to object
Definition: BaseInOutTile2dCollAttribute.h:44
std::vector< image::InOutImageTile2dPtr > ValueType
value type associated to object
Definition: BaseInOutTile2dCollAttribute.h:41
Class encapsulating an auto initialized uuid.
Definition: Guid.h:27
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Base class for in/out attributes associated to collection of image 2d tile.
Definition: BaseInOutTile2dCollAttribute.h:27
image::InOutImageTile2d TileType
tile type associated to object
Definition: BaseInOutTile2dCollAttribute.h:38
Input and output class for 2d image tiles.
Definition: InOutImageTile2d.h:28
std::vector< image::InOutImageTile2dConstPtr > ConstStorageType
const storage type associated to object
Definition: BaseInOutTile2dCollAttribute.h:47
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53