GrabBag/SDK/Device/VzNLSDK/_Inc/IVzLaserEyeInfoAPI.h

55 lines
1.5 KiB
C
Raw Normal View History

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
};