2026-03-17 22:27:58 +08:00
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "VZNL_Types.h"
|
|
|
|
|
|
|
|
|
|
|
|
// Э<>鶨<EFBFBD><E9B6A8>
|
|
|
|
|
|
enum ProtocolDef
|
|
|
|
|
|
{
|
|
|
|
|
|
PROTOCOL_HEADER = 0xAA55, // Э<><D0AD>ͷ
|
|
|
|
|
|
PROTOCOL_TAIL = 0x55AA // Э<><D0AD>β
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// Feature<72><65>־λ<D6BE><CEBB><EFBFBD><EFBFBD>
|
|
|
|
|
|
enum FeatureFlags
|
|
|
|
|
|
{
|
|
|
|
|
|
FEATURE_RGB_CAMERA = 0x01, // RGB<47><42><EFBFBD><EFBFBD>
|
|
|
|
|
|
FEATURE_SWING_MECHANISM = 0x02, // <20>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
FEATURE_DUAL_OUTPUT = 0x04, // ˫<>˳<EFBFBD>ͼ
|
|
|
|
|
|
FEATURE_STEREO_COLOR = 0x08, // ˫Ŀ<CBAB><C4BF>ɫ
|
|
|
|
|
|
FEATURE_WELDING_CAMERA = 0x10 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// Feature<72><65><EFBFBD>ݽṹ
|
|
|
|
|
|
struct FeatureData
|
|
|
|
|
|
{
|
|
|
|
|
|
unsigned short version; // <20>汾<EFBFBD><E6B1BE>
|
|
|
|
|
|
unsigned short flags; // <20><><EFBFBD>Ա<EFBFBD>־λ
|
|
|
|
|
|
unsigned short pupilDistance; // <20><><EFBFBD><EFBFBD>ͫ<EFBFBD><CDAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ӿ<EFBFBD>
|
|
|
|
|
|
class IVzLaserEyeInfoInterface
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
/// @brief <20><>ȡQ<C8A1><51><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
/// <param name = "hDevice">[in]<5D>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|
|
|
|
|
/// <param name = "dQMatrix">[out]Q<><51><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ</param>
|
|
|
|
|
|
/// Tip: C Mode <20><><EFBFBD><EFBFBD> C Mode <20><> Q
|
|
|
|
|
|
/// Ori Mode <20><> Ori Mode <20>µ<EFBFBD> Q
|
|
|
|
|
|
virtual int QueryQMatrix(VZNLHANDLE hDevice, double dQMatrix[4][4]) = 0;
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief <20><>ȡԭʼQ<CABC><51><EFBFBD><EFBFBD>
|
|
|
|
|
|
virtual int QueryOriQMatrix(VZNLHANDLE hDevice, double dQMatrix[4][4]) = 0;
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief <20><>ȡ<EFBFBD>̶<EFBFBD><CCB6>Ӳ<EFBFBD>
|
|
|
|
|
|
virtual int QueryFixedDistance(VZNLHANDLE hDevice, int& nFixedDistance) = 0;
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief <20><>ȡԭʼͼ<CABC><CDBC><EFBFBD>̶<EFBFBD><CCB6>Ӳ<EFBFBD>
|
|
|
|
|
|
virtual int QueryOriFixedDistance(VZNLHANDLE hDevice, int& nFixedDistance) = 0;
|
|
|
|
|
|
|
|
|
|
|
|
// Feature<72><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD>ͷβ<CDB7><CEB2><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>CRCУ<43>飩
|
|
|
|
|
|
virtual int SerializeFeature(const FeatureData& feature, unsigned char* data) = 0;
|
|
|
|
|
|
|
|
|
|
|
|
// Feature<72><65><EFBFBD>ݷ<EFBFBD><DDB7><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>֤Э<D6A4><D0AD>ͷβ<CDB7><CEB2><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>CRCУ<43>飩
|
|
|
|
|
|
virtual int DeserializeFeature(const unsigned char* data, int dataLen, FeatureData& feature) = 0;
|
2025-07-23 01:35:14 +08:00
|
|
|
|
};
|