GrabBag/VrEyeDevice/Inc/IVrEyeDevice.h

148 lines
3.3 KiB
C
Raw Permalink Normal View History

2025-07-23 01:35:14 +08:00
#ifndef IVREYEDEVICE_H
#define IVREYEDEVICE_H
#include <iostream>
// #include "VrEyeDevice_global.h"
#include "VZNL_Common.h"
// #VREYEDEVICE_EXPORT
class IVrEyeDevice
{
public:
virtual ~IVrEyeDevice() = default;
// 初始化对象
static int CreateObject(IVrEyeDevice** ppEyeDevice);
/**
*
*/
virtual int InitDevice() = 0;
/**
*
*/
virtual int SetStatusCallback(VzNL_OnNotifyStatusCBEx fNotify, void *param) = 0;
/**
* Open设备
*/
virtual int OpenDevice(const char* sIP, bool bRGBD = false, bool bSwing = true, bool bFillLaser = true) = 0;
2025-07-23 01:35:14 +08:00
/**
*
* @return
*/
virtual int GetVersion(SVzNLVersionInfo& sVersionInfo) = 0;
/**
*
* @return
*/
virtual int GetDevInfo(SVzNLEyeDeviceInfoEx& sDeviceInfo) = 0;
/**
* Close设备
*/
virtual int CloseDevice() = 0;
/**
*
* @return 0
*/
virtual int StartDetect(VzNL_AutoOutputLaserLineExCB fCallFunc, EVzResultDataType eDataType, void *param) = 0;
/**
*
* @return
*/
virtual bool IsDetectIng() = 0;
/**
*
* @return 0
*/
virtual int StopDetect() = 0;
/**
* ROI设置
* @param leftROI
* @param rightROI
* @return
*/
virtual int SetDetectROI(SVzNLRect& leftROI, SVzNLRect& rightROI) = 0;
virtual int GetDetectROI(SVzNLRect& leftROI, SVzNLRect& rightROI) = 0;
/**
* &
* @return
*/
virtual int SetEyeExpose(unsigned int& exposeTime) = 0;
virtual int GetEyeExpose(unsigned int& exposeTime) = 0;
/**
* &
* @param gain
* @return
*/
virtual int SetEyeGain(unsigned int& gain) = 0;
virtual int GetEyeGain(unsigned int& gain) = 0;
/**
* &
* @param frame
* @return
*/
virtual int SetFrame(int& frame) = 0;
virtual int GetFrame(int& frame) = 0;
/**
* RGBD
* @return
*/
virtual bool IsSupport() = 0;
/**
* Sensor期望值
* @param value
* @return
*/
virtual int SetRGBDExposeThres(float& value) = 0;
virtual int GetRGBDExposeThres(float& value) = 0;
/**
*
* @param dHeight
* @return
*/
virtual int SetFilterHeight(double& dHeight) = 0;
virtual int GetFilterHeight(double& dHeight) = 0;
/**
*
* @return
*/
virtual int GetSwingSpeed(float& fSpeed) = 0;
virtual int SetSwingSpeed(float& fSpeed) = 0;
/**
*
* @param nMin
* @param nMax
* @return
*/
virtual int SetSwingAngle(float& fMin, float& fMax) = 0;
virtual int GetSwingAngle(float& fMin, float& fMax) = 0;
/**
*
* @param nMin
* @param nMax
* @return
*/
virtual int SetWorkRange(double& dMin, double& dMax) = 0;
virtual int GetWorkRange(double& dMin, double& dMax) = 0;
};
#endif // CVREYEDEVICE_H