IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
DistributedImage.h
1 // DistributedImage.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKIMAGE_DISTRIBUTEDIMAGE_H__
16 #define __IPSDKIMAGE_DISTRIBUTEDIMAGE_H__
17 
18 #include <IPSDKImage/Image/BaseCompleteImage.h>
20 
21 namespace ipsdk {
22 namespace image {
23 
26 
28 {
29  // declare serial class
31 
32  // friend class for protected members access
33  friend boost::shared_ptr<DistributedImage> boost::make_shared<DistributedImage>();
34 
35 // predefined public types
36 public:
38  static const eImageType::domain g_imageType = eImageType::eIT_Distributed;
39 
40 protected:
43 
44 public:
47 
48 // methods
49 public:
51  eImageType getImageType() const;
52 
54  ipBool isGpuImage() const;
55 
57  ipBool isDiskImage() const;
58 
61  virtual BoolResult init(const BaseImageGeometry& geometry);
62 
67  BoolResult init(const DistributedImage& refImage);
68 
76  BoolResult init(const DistributedImage& refImage,
77  const eImageBufferType& imageBufferType);
78 
81  eImageAccessMode getAccessMode() const;
82 
86  bool hasRemoteStorage() const;
87 
92  BoolResult resize(const BaseImageGeometry& geometry);
93 
94 // attributes
95 protected:
96 
97 };
98 
101 
102 inline eImageType
104 {
105  return g_imageType;
106 }
107 
108 inline ipBool
110 {
111  return false;
112 }
113 
114 inline ipBool
116 {
117  return false;
118 }
119 
122 
123 } // end of namespace image
124 } // end of namespace ipsdk
125 
126 #endif // __IPSDKIMAGE_DISTRIBUTEDIMAGE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Base class for image geometry.
Definition: BaseImageGeometry.h:38
IPSDKIMAGE_API ImageGeometryPtr geometry(const eImageBufferType &imageBufferType, const ipUInt64 sizeX, const ipUInt64 sizeY, const VolumeGeometry &volumeGeometry, const ColorGeometry &colorGeometry, const TemporalGeometry &temporalGeometry)
create an image geometry
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
eImageType
Enumerate describing image type.
Definition: ImageTypes.h:58
distributed image (potentially hold by remote computers)
Definition: ImageTypes.h:68
eImageType getImageType() const
retrieve image type
Definition: DistributedImage.h:103
ipBool isDiskImage() const
returns true if the image is a disk one
Definition: DistributedImage.h:115
#define IPSDKIMAGE_API
Import/Export macro for library IPSDKImage.
Definition: IPSDKImageExports.h:27
bool ipBool
Base types definition.
Definition: BaseTypes.h:47
Predefined types for distributed image management.
static const eImageType::domain g_imageType
type associated to attribute
Definition: DistributedImage.h:38
Image class with distributed data storage policy.
Definition: DistributedImage.h:27
ipBool isGpuImage() const
returns true if the image is loaded on GPU
Definition: DistributedImage.h:109
Base class for complete images.
Definition: BaseCompleteImage.h:34
eImageAccessMode
Image access mode.
Definition: ImageTypes.h:110
eImageBufferType
types associated to image buffers
Definition: ImageTypes.h:78