libirimager
IR Imager Direct-SDK
IRImagerClient.h
1 /******************************************************************************
2  * Copyright (c) 2012-2017 All Rights Reserved, http://www.evocortex.com *
3  * Evocortex GmbH *
4  * Emilienstr. 1 *
5  * 90489 Nuremberg *
6  * Germany *
7  * *
8  * Contributors: *
9  * Initial version for Linux 64-Bit platform supported by Fraunhofer IPA, *
10  * http://www.ipa.fraunhofer.de *
11  *****************************************************************************/
12 
13 #ifndef IRIMAGERCLIENT_H
14 #define IRIMAGERCLIENT_H
15 #include <iostream>
16 #include <vector>
17 #include "IRDeviceParams.h"
18 #include "irdirectsdk_defs.h"
19 #include "IRArray.h"
20 
21 namespace evo
22 {
23 
29 class __IRDIRECTSDK_API__ IRImagerClient
30 {
31 
32 public:
33 
38 
42  virtual ~IRImagerClient(){};
43 
49  virtual void onRawFrame(unsigned char* data, int size) = 0;
50 
59  virtual void onThermalFrame(unsigned short* data, unsigned int w, unsigned int h, IRFrameMetadata meta, void* arg) = 0;
60 
71  virtual void onThermalFrameEvent(unsigned short* thermal, unsigned short* energy, unsigned int w, unsigned int h, IRFrameMetadata meta, const IRArray<IREventData>& events, void* arg) {};
72 
73 #if __cplusplus >= 201103L || _MSC_VER >= 1800
74 
77  virtual void onThermalFrameEvent(unsigned short* thermal, unsigned short* energy, unsigned int w, unsigned int h, IRFrameMetadata meta, std::vector<IREventData> events, void* arg) final { };
78 #endif
79 
88  virtual void onVisibleFrame(unsigned char* data, unsigned int w, unsigned int h, IRFrameMetadata meta, void* arg) { };
89 
99  virtual void onVisibleFrameEvent(unsigned char* data, unsigned int w, unsigned int h, IRFrameMetadata meta, const IRArray<IREventData>& events, void* arg) {};
100 
101 #if __cplusplus >= 201103L || _MSC_VER >= 1800
102 
105  virtual void onVisibleFrameEvent(unsigned char* data, unsigned int w, unsigned int h, IRFrameMetadata meta, std::vector<IREventData> events, void* arg) final { };
106 #endif
107 
113  virtual void onFlagStateChange(EnumFlagState flagstate, void* arg) = 0;
114 
119  virtual void onProcessExit(void* arg) = 0;
120 
121 };
122 
123 }
124 
125 #endif
C-Array wrapper for handle size, copy and memory.
Definition: IRArray.h:22
virtual void onVisibleFrame(unsigned char *data, unsigned int w, unsigned int h, IRFrameMetadata meta, void *arg)
Callback method for visible frames.
Definition: IRImagerClient.h:88
virtual void onVisibleFrameEvent(unsigned char *data, unsigned int w, unsigned int h, IRFrameMetadata meta, const IRArray< IREventData > &events, void *arg)
Callback method for visible frames triggered with raising edge event on PIF digital input or software...
Definition: IRImagerClient.h:99
Structure containing meta data acquired from the PI imager.
Definition: IRDeviceParams.h:97
Definition: IRImager.h:41
virtual ~IRImagerClient()
Destructor.
Definition: IRImagerClient.h:42
Interface for specifying object-oriented frame callback methods.
Definition: IRImagerClient.h:29
virtual void onThermalFrameEvent(unsigned short *thermal, unsigned short *energy, unsigned int w, unsigned int h, IRFrameMetadata meta, const IRArray< IREventData > &events, void *arg)
Callback method for thermal frames triggered with raising edge event on PIF digital input or software...
Definition: IRImagerClient.h:71
IRImagerClient()
Constructor.
Definition: IRImagerClient.h:37