Pleora Technologies Inc. eBUS SDK v6.4.0.6670 API



PvImage.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2010, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #ifndef __PVIMAGE_H__
8 #define __PVIMAGE_H__
9 
10 #include <PvPixelType.h>
11 
12 
13 class PvBuffer;
15 
20 class PV_BUFFER_API IPvImage
21 {
22 public:
23 
24  virtual ~IPvImage() {}
25 
31  virtual const uint8_t *GetDataPointer() const = 0;
32 
41  virtual uint8_t *GetDataPointer() = 0;
42 
51  virtual uint32_t GetImageSize() const = 0;
52 
58  virtual uint32_t GetWidth() const = 0;
59 
65  virtual uint32_t GetHeight() const = 0;
66 
72  virtual PvPixelType GetPixelType() const = 0;
73 
79  virtual uint32_t GetBitsPerPixel() const = 0;
80 
86  virtual uint32_t GetOffsetX() const = 0;
87 
93  virtual uint32_t GetOffsetY() const = 0;
94 
108  virtual uint16_t GetPaddingX() const = 0;
109 
121  virtual uint16_t GetPaddingY() const = 0;
122 
133  virtual uint64_t GetBlockID() const = 0;
134 
150  virtual uint64_t GetTimestamp() const = 0;
151 
157  virtual uint64_t GetReceptionTime() const = 0;
158 
159 };
160 
161 
181 class PV_BUFFER_API PvImage
182  : public IPvImage
183 {
184 public:
185 
191  virtual uint32_t GetMaximumChunkLength() const = 0;
192 
200  static uint32_t GetPixelSize( PvPixelType aPixelType );
201 
209  static bool IsPixelColor( PvPixelType aPixelType );
210 
221  static bool IsPixelHighRes( PvPixelType aPixelType );
222 
233  static uint32_t GetBitsPerComponent( PvPixelType aPixelType );
234 
242  static PvString PixelTypeToString( PvPixelType aPixelType );
243 
264  virtual uint32_t GetRequiredSize() const = 0;
265 
273  virtual uint32_t GetEffectiveImageSize() const = 0;
274 
280  virtual void SetOffsetX( uint32_t aValue ) = 0;
281 
287  virtual void SetOffsetY( uint32_t aValue ) = 0;
288 
289  virtual bool IsAllocated() const = 0;
290  virtual bool IsAttached() const = 0;
291 
309  virtual PvResult Alloc( uint32_t aSizeX, uint32_t aSizeY, PvPixelType aPixelType, uint16_t aPaddingX = 0, uint16_t aPaddingY = 0, uint32_t aMaximumChunkLength = 0 ) = 0;
310 
316  virtual void Free() = 0;
317 
338  virtual PvResult Attach( void * aRawBuffer, uint32_t aSizeX, uint32_t aSizeY, PvPixelType aPixelType, uint16_t aPaddingX = 0, uint16_t aPaddingY = 0, uint32_t aMaximumChunkLength = 0 ) = 0;
339 
349  virtual uint8_t *Detach() = 0;
350 
356  virtual bool IsPartialLineMissing() const = 0;
357 
363  virtual bool IsFullLineMissing() const = 0;
364 
370  virtual void SetEOFByLineCount( bool aValue = true ) = 0;
371 
377  virtual bool IsEOFByLineCount() const = 0;
378 
384  virtual bool IsInterlacedEven() const = 0;
385 
391  virtual bool IsInterlacedOdd() const = 0;
392 
398  virtual bool IsImageDropped() const = 0;
399 
405  virtual bool IsDataOverrun() const = 0;
406 
412  virtual PvBuffer *GetBuffer() = 0;
413 
423  virtual bool HasWatermark() const = 0;
424 
425 private:
426 
427  friend class PvTruesenseConverter;
428 
429 };
430 
431 
432 #endif
String class.
Definition: PvString.h:25
Result information.
Definition: PvResult.h:29
PvPixelType
Definition: PvPixelType.h:57
Generic image interface.
Definition: PvImage.h:20
Converts images from TRUESENSE(TM) to RGB.
Definition: PvTruesenseConverter.h:37
Represents a block of GigE Vision or USB3 Vision data in memory.
Definition: PvBuffer.h:95
Image interface to a PvBuffer.
Definition: PvImage.h:181

Copyright (c) 2002-2024 Pleora Technologies Inc.
www.pleora.com