GrabBag/Device/GlLineLaserDevice/Inc/IGlLineLaserDevice.h

87 lines
2.3 KiB
C
Raw Permalink Normal View History

#ifndef IGLLINELASERDEVICE_H
#define IGLLINELASERDEVICE_H
#include "IVrEyeDevice.h"
/**
* @brief IGlLineLaserDevice
*
* IVrEyeDevice GL 线
* CGlLineLaserDevice gl_linelaser_sdk IVrEyeDevice
*/
class IGlLineLaserDevice : public IVrEyeDevice
{
public:
virtual ~IGlLineLaserDevice() = default;
// 创建 GL 线激光设备实例
static int CreateGlLineLaserObject(IGlLineLaserDevice** ppDevice);
// ============ GL 线激光传感器专用接口 ============
/**
* @brief X方向点数
* @return
*/
virtual int GetProfileDataWidth() = 0;
/**
* @brief X方向点间距 (mm)
* @return X间距
*/
virtual double GetXPitch() = 0;
/**
* @brief Y方向点间距 (mm)
* @return Y间距
*/
virtual double GetYPitch() = 0;
/**
* @brief Y方向点间距 (mm)
* @param pitch Y间距
* @return 0: , :
*/
virtual int SetYPitch(double pitch) = 0;
/**
* @brief
* @param batchLines
* @return 0: , :
*/
virtual int SetBatchLines(unsigned int batchLines) = 0;
/**
* @brief
* @return
*/
virtual unsigned int GetBatchLines() = 0;
/**
* @brief
* @param programNo
* @return 0: , :
*/
virtual int SwitchProgram(int programNo) = 0;
/**
* @brief
* @param model
* @param serialNumber
* @return 0: , :
*/
virtual int GetModelInfo(char* model, char* serialNumber) = 0;
/**
* @brief
* @param xMin X最小值 (mm)
* @param xMax X最大值 (mm)
* @param zMin Z最小值 (mm)
* @param zMax Z最大值 (mm)
* @return 0: , :
*/
virtual int GetMeasureRange(double& xMin, double& xMax, double& zMin, double& zMax) = 0;
};
#endif // IGLLINELASERDEVICE_H