ItalaApi  1.3.3
IImage.h
1 
2 /***********************************************************************************
3  *
4  * ItalaApi - Copyright (C) 2022 Opto Engineering
5  *
6  * THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
7  * INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
8  * FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT
9  * HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY SUFFERED BY LICENSE AS
10  * A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
11  *
12  ***********************************************************************************/
13 
14 #ifndef ITALA_API_IIMAGE_H
15 #define ITALA_API_IIMAGE_H
16 
17 #include <cstdint>
18 #include "ItalaApi/Export.h"
19 #include "GenApi/INode.h"
20 #include "ItalaApi/IDisposable.h"
21 #include "PFNC/PFNC.h"
22 
23 namespace Itala {
24 
30 struct IImage : public IDisposable {
31 public:
35  virtual size_t GetWidth() const = 0;
36 
40  virtual size_t GetHeight() const = 0;
41 
45  virtual size_t GetOffsetX() const = 0;
46 
50  virtual size_t GetOffsetY() const = 0;
51 
55  virtual size_t GetPaddingX() const = 0;
56 
60  virtual size_t GetPaddingY() const = 0;
61 
66  virtual PfncFormat GetPixelFormat() const = 0;
67 
71  virtual uint64_t GetFrameID() const = 0;
72 
76  virtual uint64_t GetTimestamp() const = 0;
77 
81  virtual size_t GetPayloadSize() const = 0;
82 
87  virtual bool IsIncomplete() const = 0;
88 
92  virtual size_t GetBytesFilled() const = 0;
93 
99  virtual void* GetData() const = 0;
100 
104  virtual bool HasChunkData() const = 0;
105 
109  virtual GenApi::INode* GetChunkNode(GenICam::gcstring name) const = 0;
110 
122  virtual IImage* Clone() const = 0;
123 
141  virtual IImage* Convert(PfncFormat dest_format) const = 0;
142 
143 protected:
144  virtual ~IImage() {}
145 };
146 
162 ITALA_API IImage* CreateImage(void* data, size_t width, size_t height, PfncFormat pixelFormat);
163 
164 } // namespace Itala
165 
166 #endif
virtual IImage * Convert(PfncFormat dest_format) const =0
virtual size_t GetBytesFilled() const =0
Definition: DefectivePixel.h:23
virtual size_t GetPaddingY() const =0
virtual size_t GetOffsetY() const =0
virtual PfncFormat GetPixelFormat() const =0
virtual size_t GetHeight() const =0
virtual void * GetData() const =0
Definition: IDisposable.h:27
virtual uint64_t GetFrameID() const =0
virtual size_t GetOffsetX() const =0
virtual size_t GetPayloadSize() const =0
virtual bool HasChunkData() const =0
virtual uint64_t GetTimestamp() const =0
virtual bool IsIncomplete() const =0
virtual GenApi::INode * GetChunkNode(GenICam::gcstring name) const =0
virtual size_t GetWidth() const =0
virtual size_t GetPaddingX() const =0
virtual IImage * Clone() const =0
Definition: IImage.h:30