IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
InOutImageYStrip2d.h
1 // InOutImageYStrip2d.h:
3 // ---------------------
4 //
14 
15 #ifndef __IPSDKIMAGE_INOUTIMAGEYSTRIP2D_H__
16 #define __IPSDKIMAGE_INOUTIMAGEYSTRIP2D_H__
17 
18 #include <IPSDKImage/Fragment/Strip/YStrip2d/BaseImageYStrip2d.h>
19 
20 namespace ipsdk {
21 namespace image {
22 
23 class LocalStripManager;
24 
27 
29 {
30  // declare serial class
32 
33  // declare in/out data
35 
36  // friend class for protected members access
37  friend struct ImageStripExtractor;
38  friend class LocalStripManager;
39 
40 // predefined public types
41 public:
42  // Image support type
43  typedef BaseImage ImageType;
44 
45  // Input storage type associated to strip
46  typedef PlanStoragePtr InputStorageType;
47 
48 public:
54 
55 // methods
56 public:
57  //-----------------------------------
60  //-----------------------------------
61 
68  BoolResult readFromImage() const;
69 
78  BoolResult writeToImage();
80 
84  HybridBuffer& getBuffer();
85 
86 protected:
90  void init(const ipUInt64 zPlanIdx,
91  const ipUInt64 cPlanIdx,
92  const ipUInt64 tPlanIdx,
93  const ipUInt64 stripStartOffsetY,
94  const ipUInt64 stripSizeY,
95  const eStripAllocationType& stripAllocationType,
96  const eStripParsingDirection& stripParsingDirection,
97  const PlanStoragePtr& pPlanStorage,
98  const DataIdentifierConstPtr& pImageIdentifier,
99  const DataItemMapConstPtr& pImageHeader);
100 
101 // attributes
102 protected:
103 
104 };
105 
108 
109 inline HybridBuffer&
111 {
112  return accessBuffer();
113 }
114 
117 
118 } // end of namespace image
119 } // end of namespace ipsdk
120 
121 #endif // __IPSDKIMAGE_INOUTIMAGEYSTRIP2D_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
const HybridBuffer & accessBuffer() const
access to strip full buffer
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
HybridBuffer & getBuffer()
retrieve strip full buffer
Definition: InOutImageYStrip2d.h:110
#define IPSDK_DECLARE_INOUT_DATA()
macro allowing to declare an in/out data
Definition: DataStatusHdrMacros.h:120
eStripAllocationType
Enumerate describing image strip allocation policy.
Definition: ImageStripTypes.h:88
Input and output class for image 2d strip with splitting along Y axis.
Definition: InOutImageYStrip2d.h:28
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
Structure used to extract image strips from an image.
Definition: ImageStripExtractor.h:31
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
boost::shared_ptr< BasePlanStorage > PlanStoragePtr
shared pointer to image plan storage
Definition: PlanStorageTypes.h:55
eStripParsingDirection
Enumerate describing strip parsing direction.
Definition: ImageStripTypes.h:72
boost::shared_ptr< const DataIdentifier > DataIdentifierConstPtr
shared pointer to const data identifier
Definition: DataIdentifierTypes.h:31
Class allowing to encapsulate an hybrid form of buffer.
Definition: HybridBuffer.h:52
Base class for image 2d strip with splitting along Y axis.
Definition: BaseImageYStrip2d.h:37
Base class for images data type.
Definition: BaseImage.h:43