IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
PythonPlanStorage.h
1 // PythonPlanStorage.h:
3 // --------------------
4 //
14 
15 #ifndef __IPSDKIMAGE_PYTHONPLANSTORAGE_H__
16 #define __IPSDKIMAGE_PYTHONPLANSTORAGE_H__
17 
19 #include <IPSDKImage/Storage/BasePlanStorage.h>
20 #include <IPSDKBaseData/Buffer/ExternalBuffer.h>
21 
22 namespace ipsdk {
23 namespace python {
24 
27 
29 {
30  // declare dynamic serializable class
32 
33 public:
39 
40 // methods
41 public:
43  image::ePlanStorageType getPlanStorageType() const;
44 
46  void init(const image::ImagePlanGeometry& pPlanGeometry,
47  void* pData);
48 
51  image::eImageAccessMode getAccessMode() const;
52 
56  const void* getDataPtr() const;
57  void* getDataPtr();
59 
62  bool canBeRemotlyAccessed() const;
63 
67  bool hasBinary8BitsStorage() const;
68 
71  ipUInt64 getFullBufferSize() const;
72 
78  const ExternalBuffer& getBuffer() const;
79  ExternalBuffer& getBuffer();
81 
82 protected:
85  BoolResult resizePlan(const image::ImagePlanGeometry& planGeometry);
86 
89  BoolResult readRawData(const ipUInt64 startOffset,
90  const ipUInt64 size,
91  void* pData) const;
92 
97  BoolResult writeRawData(const ipUInt64 startOffset,
98  const ipUInt64 size,
99  const void* pData);
100 
102  void clearPlanData();
103 
104 // attributes
105 protected:
108 };
109 
112 
115 {
117 }
118 
121 
122 } // end of namespace python
123 } // end of namespace ipsdk
124 
125 #endif // __IPSDKIMAGE_PYTHONPLANSTORAGE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
specific plan storage for dedicated task
Definition: PlanStorageTypes.h:47
image::ePlanStorageType getPlanStorageType() const
retrieve plan storage type
Definition: PythonPlanStorage.h:114
#define PYIPSDKBASE_API
Import/Export macro for library PyIPSDKBase.
Definition: PyIPSDKBaseExports.h:25
Class encapsulating python image plan data.
Definition: PythonPlanStorage.h:28
Base class for image plan data storage.
Definition: BasePlanStorage.h:38
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
Class allowing to encapsulate sized external data pointer.
Definition: ExternalBuffer.h:25
Class encapsulating image plan geometry.
Definition: ImagePlanGeometry.h:33
ePlanStorageType
Enumerate describing plan storage type.
Definition: PlanStorageTypes.h:33
ExternalBuffer _buffer
buffer associated to storage
Definition: PythonPlanStorage.h:107
Definition of import/export macro for library.
eImageAccessMode
Image access mode.
Definition: ImageTypes.h:110