IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
OutputImageTile2d.h
1 // OutputImageTile2d.h:
3 // --------------------
4 //
14 
15 #ifndef __IPSDKIMAGE_OUTPUTIMAGETILE2D_H__
16 #define __IPSDKIMAGE_OUTPUTIMAGETILE2D_H__
17 
18 #include <IPSDKImage/Fragment/Tile/Tile2d/BaseImageTile2d.h>
19 
20 namespace ipsdk {
21 namespace image {
22 
23 class OutputImageTile3d;
24 
27 
29 {
30  // declare serial class
32 
33  // declare input data
35 
36  // friend class for protected members access
37  friend struct ImageTileExtractor;
38  friend class OutputImageTile3d;
39 
40 // predefined public types
41 public:
42  // Image support type
43  typedef BaseImage ImageType;
44 
45  // Input storage type associated to tile
46  typedef PlanStoragePtr InputStorageType;
47 
48 public:
54 
55 // methods
56 public:
60  FragHybridBuffer& getBuffer();
61 
67  template <typename T>
68  T* getBuffer(const ipUInt64 rowIdx)
69  {
70  return static_cast<T*>(accessBuffer(rowIdx));
71  }
72 
73  //-----------------------------------
76  //-----------------------------------
77 
86  BoolResult writeToImage();
88 
89 // attributes
90 protected:
96  void init(const ipUInt64 zPlanIdx,
97  const ipUInt64 cPlanIdx,
98  const ipUInt64 tPlanIdx,
99  const ipUInt64 tileStartOffsetX,
100  const ipUInt64 tileStartOffsetY,
101  const ipUInt64 tileSizeX,
102  const ipUInt64 tileSizeY,
103  const PlanStoragePtr& pPlanStorage,
104  const DataIdentifierConstPtr& pImageIdentifier,
105  const DataItemMapConstPtr& pImageHeader);
106 
112  void init(const ipUInt64 zPlanIdx,
113  const ipUInt64 cPlanIdx,
114  const ipUInt64 tPlanIdx,
115  const ipUInt64 tileStartOffsetX,
116  const ipUInt64 tileStartOffsetY,
117  const ipUInt64 tileSizeX,
118  const ipUInt64 tileSizeY,
119  const ipUInt64 imageSizeX,
120  const ipUInt64 imageSizeY,
122  const DataIdentifierConstPtr& pImageIdentifier,
123  const DataItemMapConstPtr& pImageHeader);
124 
125 // attributes
126 protected:
127 
128 };
129 
132 
133 inline FragHybridBuffer&
135 {
136  return accessBuffer();
137 }
138 
141 
142 } // end of namespace image
143 } // end of namespace ipsdk
144 
145 #endif // __IPSDKIMAGE_OUTPUTIMAGETILE2D_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
Output class for 2d image tiles.
Definition: OutputImageTile2d.h:28
Structure used to extract image tiles from an image.
Definition: ImageTileExtractor.h:33
#define IPSDK_DECLARE_OUTPUT_DATA()
macro allowing to declare an output data
Definition: DataStatusHdrMacros.h:113
Class allowing to encapsulate an hybrid form of fragment buffer.
Definition: FragHybridBuffer.h:53
T * getBuffer(const ipUInt64 rowIdx)
retrieve tile row buffer for a given row index
Definition: OutputImageTile2d.h:68
Base class for 2 image tiles.
Definition: BaseImageTile2d.h:35
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
IPSDKIMAGEPROCESSING_API processor::RulePtr bufferType(const ImageAttributeConstWeakPtr &pImageAttribute, const IBTAttributeConstWeakPtr &pIBTAttribute)
function allowing to check that an image correspond to a given image buffer types attribute ...
Output class for 3d image tiles.
Definition: OutputImageTile3d.h:26
boost::shared_ptr< const DataItemMap > DataItemMapConstPtr
shared pointer to const DataItemMap
Definition: DataItemTypes.h:170
#define IPSDKIMAGE_API
Import/Export macro for library IPSDKImage.
Definition: IPSDKImageExports.h:27
FragHybridBuffer & accessBuffer() const
access to tile full buffer
boost::shared_ptr< BasePlanStorage > PlanStoragePtr
shared pointer to image plan storage
Definition: PlanStorageTypes.h:55
boost::shared_ptr< const DataIdentifier > DataIdentifierConstPtr
shared pointer to const data identifier
Definition: DataIdentifierTypes.h:31
Base class for images data type.
Definition: BaseImage.h:43
FragHybridBuffer & getBuffer()
retrieve tile full buffer
Definition: OutputImageTile2d.h:134
eImageBufferType
types associated to image buffers
Definition: ImageTypes.h:78