IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ImagePlanGeometry.h
1 // ImagePlanGeometry.h:
3 // --------------------
4 //
14 
15 #ifndef __IPSDKIMAGE_IMAGEPLANGEOMETRY_H__
16 #define __IPSDKIMAGE_IMAGEPLANGEOMETRY_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::image::ImagePlanGeometry::_imageBufferType' : class 'ipsdk::image::eImageBufferType' needs to have dll-interface to be used by clients of class 'ipsdk::image::ImagePlanGeometry'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
25 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
26 
27 namespace ipsdk {
28 namespace image {
29 
32 
34 {
35  // declare serial class
37 
38 public:
44 
45 // methods
46 public:
48  bool isInit() const;
49 
53  void init(const ipUInt64 sizeX,
54  const ipUInt64 sizeY,
55  const eImageBufferType& imageBufferType);
56 
59  ipUInt64 getSizeX() const;
60 
63  ipUInt64 getSizeY() const;
64 
67  ipUInt64 getNbPixels() const;
68 
71  bool isInside(const ipUInt64 x, const ipUInt64 y) const;
72 
75  const eImageBufferType& getBufferType() const;
76 
79  ipUInt64 getFullMemorySize() const;
80 
83  void resize(const ipUInt64 sizeX,
84  const ipUInt64 sizeY);
85 
90  void resize(const ipUInt64 sizeX,
91  const ipUInt64 sizeY,
92  const eImageBufferType& imageBufferType);
93 
96  void setImageBufferType(const eImageBufferType& imageBufferType);
97 
99  void clear();
100 
101 // attributes
102 protected:
105 
108 
111 
113  bool _bInit;
114 };
115 
118 
119 inline bool
121 {
122  return _bInit;
123 }
124 
127 
128 } // end of namespace image
129 } // end of namespace ipsdk
130 
131 #pragma warning (pop)
132 
133 #endif // __IPSDKIMAGE_IMAGEPLANGEOMETRY_H__
IPSDKGEOMETRY_API bool isInside(const Parabola2d &parabola, const Point2dData< T > &pt)
function allowing to check whether a point is inside (or belongs to) parabola
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:73
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
ipUInt64 _sizeX
x size for image plan
Definition: ImagePlanGeometry.h:104
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
IPSDKGEOMETRY_API ipUInt64 getNbPixels(const ipsdk::geom::RowIntersections &)
return the number of pixels in the input RowIntersections data structure
ipUInt64 _sizeY
y size for image plan
Definition: ImagePlanGeometry.h:107
bool _bInit
object initialization flag
Definition: ImagePlanGeometry.h:113
Definition of import/export macro for library.
#define IPSDKIMAGE_API
Import/Export macro for library IPSDKImage.
Definition: IPSDKImageExports.h:27
Class encapsulating image plan geometry.
Definition: ImagePlanGeometry.h:33
eImageBufferType _imageBufferType
image data type
Definition: ImagePlanGeometry.h:110
Predefined type for image management.
bool isInit() const
retrieve object initialisation flag
Definition: ImagePlanGeometry.h:120
Base class for serializable class.
Definition: BaseSerializationObject.h:33
eImageBufferType
types associated to image buffers
Definition: ImageTypes.h:78