IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
OutputImageYStrip3d.h
1 // OutputImageYStrip3d.h:
3 // ----------------------
4 //
14 
15 #ifndef __IPSDKIMAGE_OUTPUTIMAGEYSTRIP3D_H__
16 #define __IPSDKIMAGE_OUTPUTIMAGEYSTRIP3D_H__
17 
18 #include <IPSDKImage/Fragment/Strip/YStrip3d/BaseImageYStrip3d.h>
19 
20 namespace ipsdk {
21 namespace image {
22 
25 
27 {
28  // declare serial class
30 
31  // declare output data
33 
34  // friend class for protected members access
35  friend struct ImageStripExtractor;
36 
37 // predefined public types
38 public:
39  // Image support type
40  typedef BaseImage ImageType;
41 
42 public:
48 
49 // methods
50 public:
51  //-----------------------------------
54  //-----------------------------------
55 
64  BoolResult writeToImage();
66 
72  FragHybridBuffer& getBuffer(const ipUInt64 yPlanIdx);
73 
74 protected:
80  void init(const ipUInt64 cPlanIdx,
81  const ipUInt64 tPlanIdx,
82  const ipUInt64 stripStartOffsetY,
83  const ipUInt64 stripSizeY,
84  const eStripAllocationType& stripAllocationType,
85  const eStripParsingDirection& stripParsingDirection,
86  const PlanStorageColl1d& volumeColl,
87  const DataIdentifierConstPtr& pImageIdentifier,
88  const DataItemMapConstPtr& pImageHeader);
89 
90 // attributes
91 protected:
92 
93 };
94 
97 
98 inline FragHybridBuffer&
100 {
101  return accessBuffer(yPlanIdx);
102 }
103 
106 
107 } // end of namespace image
108 } // end of namespace ipsdk
109 
110 #endif // __IPSDKIMAGE_OUTPUTIMAGEYSTRIP3D_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Base class for image 3d strip with splitting along Y axis.
Definition: BaseImageYStrip3d.h:33
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
const FragHybridBuffer & accessBuffer(const ipUInt64 yPlanIdx) const
access to strip full buffer
#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
eStripAllocationType
Enumerate describing image strip allocation policy.
Definition: ImageStripTypes.h:88
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
FragHybridBuffer & getBuffer(const ipUInt64 yPlanIdx)
retrieve strip full buffer
Definition: OutputImageYStrip3d.h:99
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
Output class for image 3d strip with splitting along Y axis.
Definition: OutputImageYStrip3d.h:26
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
std::vector< PlanStoragePtr > PlanStorageColl1d
Definition: ImageTypes.h:184
Base class for images data type.
Definition: BaseImage.h:43