2026-03-17 22:27:58 +08:00
# ifndef __VIZUM_MUL_DETECTED_LASER_HEADER__
# define __VIZUM_MUL_DETECTED_LASER_HEADER__
# include "VZNL_Export.h"
# include "VZNL_Types.h"
# include "VZNL_Common.h"
# include "VZNL_DetectLaser.h"
/// @brief
/// <20> <> ʼ <EFBFBD> <CABC> <EFBFBD> 豸<EFBFBD> <E8B1B8> <EFBFBD> <EFBFBD>
/// <param name = "phDevice">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Handle</param>
/// <param name = "nDeviceCount">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// <param name = "pnErrorCode">[out]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// @return <20> <> <EFBFBD> ض<EFBFBD> <D8B6> 豸<EFBFBD> <E8B1B8> <EFBFBD> <EFBFBD> <E2B9A4> Handle
VZNLAPI VZNLDETECTHANDLE VzNL_BeginMultiDeviceDetectLaser ( VZNLHANDLE * phDevice , int nDeviceCount , int * pnErrorCode ) ;
/// @brief
/// <20> Ƿ<EFBFBD> Ϊ<EFBFBD> <CEAA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "hDevice">[in]<5D> <> <EFBFBD> <EFBFBD> handle</param>
/// @return <20> <> <EFBFBD> <EFBFBD> true<75> <65> <EFBFBD> <EFBFBD> ʾ <EFBFBD> <CABE> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI VzBool VzNL_IsMasterDev ( VZNLDETECTHANDLE hDetectHandle , VZNLHANDLE hDevice ) ;
/**
* @ brief <EFBFBD> 豸 ״ ̬ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ param [ in ] hDevice <EFBFBD> ں <EFBFBD> <EFBFBD> 豸 Handle
* @ param [ in ] pNotifyCB <EFBFBD> <EFBFBD> <EFBFBD> غ <EFBFBD> <EFBFBD> <EFBFBD>
* @ param [ in ] pCBParam <EFBFBD> ص <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ز <EFBFBD> <EFBFBD> <EFBFBD>
* @ return <EFBFBD> ر ճ ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*/
VZNLAPI int VzNL_SetMulDevStatusNotify ( VZNLHANDLE hDetechTool , VzNL_OnMulDevNotifyStatusCB pNotifyCB , void * pCBParam ) ;
/// @brief
/// <20> <> <EFBFBD> ü<EFBFBD> <C3BC> <EFBFBD> <EFBFBD> 궨<EFBFBD> <EAB6A8>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "dStandardObjectHeight">[in]<5D> <> <EFBFBD> ñ궨<C3B1> ߶<EFBFBD> </param>
/// <param name = "pTopROI">[in]<5D> <> <EFBFBD> <EFBFBD> ROI<4F> <49> <EFBFBD> <EFBFBD> ָ<EFBFBD> <D6B8> </param>
/// <param name = "nTopROICount">[in]<5D> <> <EFBFBD> <EFBFBD> ROI<4F> <49> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// <param name = "pBottomROI">[in]<5D> ײ<EFBFBD> ROI<4F> <49> <EFBFBD> <EFBFBD> ָ<EFBFBD> <D6B8> </param>
/// <param name = "nBottomROICount">[in]<5D> ײ<EFBFBD> ROI<4F> <49> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// @return <20> <> <EFBFBD> <EFBFBD> 0Ϊ<30> <CEAA> ȷ<EFBFBD> <C8B7> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_SetMulDevLaserStandard ( VZNLDETECTHANDLE hDetechTool , double dStandardObjectHeight ,
const SVzNLROIRect * pTopROI , const int nTopROICount ,
const SVzNLROIRect * pBottomROI , const int nBottomROICount ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> 궨<EFBFBD> <EAB6A8> Ϣ
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_ClearMulDevLaserStandard ( VZNLDETECTHANDLE hDetechTool ) ;
/// @brief
/// <20> <> <EFBFBD> ü<EFBFBD> <C3BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֵ
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "nLaserThres">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֵ[Range:0~255]</param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_SetMulDevLaserThres ( VZNLDETECTHANDLE hDetechTool , int nLaserThres ) ;
/// @brief
/// <20> <> <EFBFBD> ù<EFBFBD> <C3B9> ˸ ߶<CBB8>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "dFilterHeight">[in]<5D> <> <EFBFBD> ˸ ߶ȣ <DFB6> <C8A3> ˸ ߶<CBB8> <DFB6> <EFBFBD> <EFBFBD> µ<EFBFBD> <C2B5> <EFBFBD> <EFBFBD> ݲ<EFBFBD> <DDB2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_ConfigMulDevLaserLineFilterHeight ( VZNLDETECTHANDLE hDetechTool , double dFilterHeight ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ӵ<EFBFBD> <D3B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֵ
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "dMaxDeviation">[in]<5D> <> <EFBFBD> <EFBFBD> ֵ</param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_ConfigMulDevLaserLineMaxDeviation ( VZNLDETECTHANDLE hDetechTool , double dMaxDeviation ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> ƫ<EFBFBD> <C6AB> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "dOffsetValue">[in]ƫ<> <C6AB> <EFBFBD> <EFBFBD> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_ConfigMulDevLaserBeginOffsetValue ( VZNLDETECTHANDLE hDetechTool , double dOffsetValue ) ;
/**
* @ brief <EFBFBD> <EFBFBD> <EFBFBD> õ <EFBFBD> <EFBFBD> ƴ <EFBFBD> <EFBFBD> <EFBFBD> ģ ʽ
* @ param [ in ] hDevice <EFBFBD> 豸 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ param [ in ] ePointCloudProcMode kePointCloudProcMode_Speed <EFBFBD> ٶ ȼ <EFBFBD> <EFBFBD> <EFBFBD> ģ ʽ , kePointCloudProcMode_Encoder <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ģ ʽ kePointCloudProcMode_FixedStep <EFBFBD> ̶ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ģ ʽ
* @ return <EFBFBD> ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* Old Interface int VzNL_EnableLaserRollerMode ( VZNLHANDLE hDevice , VzBool bEnable ) ;
*/
VZNLAPI int VzNL_SetMulDevPointCloudProcMode ( VZNLDETECTHANDLE hDetechTool , EVzPointCloudProcMode ePointCloudProcMode ) ;
/**
* @ brief <EFBFBD> <EFBFBD> <EFBFBD> ù ̶ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ǰ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ kePointCloudProcMode_FixedStepģʽ
*/
VZNLAPI int VzNL_SetMulDevFixedStep ( VZNLDETECTHANDLE hDetechTool , double dStep ) ;
/// @brief
/// <20> <> <EFBFBD> ô<EFBFBD> <C3B4> ʹ <EFBFBD> <CDB4> ٶ<EFBFBD> ֵ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> õ<EFBFBD> <C3B5> ƴ<EFBFBD> <C6B4> <EFBFBD> ģʽ Ϊ kePointCloudProcMode_Speed<65> <64> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "eDirect">[in]<5D> <> <EFBFBD> з<EFBFBD> <D0B7> <EFBFBD> </param>
/// <param name = "dSpeed">[in]<5D> ٶ<EFBFBD> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_ConfigMulDevLaserObjRunSpeedValue ( VZNLDETECTHANDLE hDetechTool , EVzObjRunDirect eDirect , double dSpeed ) ;
/**
* @ brief <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ת <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 뾶 kePointCloudProcMode_Encoder <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ param [ in ] hDevice <EFBFBD> 豸 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ param [ in ] dRadius ת <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 뾶
* @ return <EFBFBD> ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*/
VZNLAPI int VzNL_ConfigMulDevLaserRollerRadius ( VZNLDETECTHANDLE hDetechTool , double dRadius ) ;
VZNLAPI int VzNL_GetMulDevLaserRollerRadius ( VZNLDETECTHANDLE hDetechTool , double * pdRadius ) ;
/**
* @ brief <EFBFBD> <EFBFBD> <EFBFBD> ñ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 徫 <EFBFBD> <EFBFBD> kePointCloudProcMode_Encoder <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ param [ in ] hDevice <EFBFBD> 豸 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ param [ in ] nPulsePerRound <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ return <EFBFBD> ɹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϊ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
*/
VZNLAPI int VzNL_SetMulDevLaserEncoderResolution ( VZNLDETECTHANDLE hDetechTool , unsigned int nPulsePerRound ) ;
VZNLAPI int VzNL_GetMulDevLaserEncoderResolution ( VZNLDETECTHANDLE hDetechTool , unsigned int * pnPulsePerRound ) ;
///@brief <20> <> ȡ<EFBFBD> <C8A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ÷<EFBFBD> Χ
///<param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
///@param name="eType"[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> </param>
///@param name="pnMinVal"[in]<5D> <> С ֵ</param>
///@param name="pnMaxVal"[in]<5D> <> <EFBFBD> <EFBFBD> ֵ</param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> 롣
VZNLAPI int VzNL_QueryMulDevParamRange ( VZNLDETECTHANDLE hDetechTool , EVzDeviceParamType eType , unsigned int * pnMinVal , unsigned int * pnMaxVal ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> һ ֡<D2BB> <D6A1> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_MulDevDetectLaser ( VZNLDETECTHANDLE hDetechTool ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ⲿ<EFBFBD> 豸Ϊ<E8B1B8> ⲿ<EFBFBD> <E2B2BF> <EFBFBD> <EFBFBD> ģʽ
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "bExternTrigger">[in]<5D> ⲿ<EFBFBD> <E2B2BF> <EFBFBD> <EFBFBD> ģʽ </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_SwitchMulDevExternTrigger ( VZNLDETECTHANDLE hDetechTool , EVzMultiDevWorkMode eWorkMode ) ;
/// @brief
/// <20> <> <EFBFBD> ö<EFBFBD> <C3B6> <EFBFBD> <EFBFBD> <EFBFBD> ȫ<EFBFBD> <C8AB> <EFBFBD> <EFBFBD> ģʽ
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "bEnable">[in]<5D> <> <EFBFBD> <EFBFBD> /<2F> <> <EFBFBD> <EFBFBD> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_EnableMulDevUseAllPoint ( VZNLDETECTHANDLE hDetechTool , VzBool bEnable ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> /<2F> <> ȡ<EFBFBD> ص<EFBFBD> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݴ<EFBFBD> <DDB4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "eType">[in]</param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_SetMulDevOverlayProcessType ( VZNLDETECTHANDLE hDetechTool , EVzMulDevOverlayProcessType eType ) ;
VZNLAPI int VzNL_GetMulDevOverlayProcessType ( VZNLDETECTHANDLE hDetechTool , EVzMulDevOverlayProcessType * pType ) ;
/// @brief
/// ˢ<> ¶<EFBFBD> <C2B6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "bEnable">[in]<5D> <> <EFBFBD> <EFBFBD> /<2F> <> <EFBFBD> <EFBFBD> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_UpdateMulDevCalibration ( VZNLDETECTHANDLE hDetechTool ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ģʽ
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "bEnable">[in]<5D> <> <EFBFBD> <EFBFBD> /<2F> <> <EFBFBD> <EFBFBD> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_EnableMulDevCalcMatrix ( VZNLDETECTHANDLE hDetechTool , VzBool bEnable ) ;
/// @brief
/// <20> <> ȡ<EFBFBD> <C8A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2D<32> <44> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "p2DPoint">[out]2D<32> 㣬<EFBFBD> ڴ<EFBFBD> <DAB4> ռ <EFBFBD> <D5BC> <EFBFBD> <EFBFBD> û<EFBFBD> <C3BB> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// <param name = "pnCount">[in/out]<5D> <> <EFBFBD> <EFBFBD> :<3A> û<EFBFBD> <C3BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> SVzNL2DPoint<6E> Ľṹ<C4BD> <E1B9B9> <EFBFBD> <EFBFBD> ;<3B> <> <EFBFBD> <EFBFBD> :<3A> û<EFBFBD> <C3BB> <EFBFBD> Ҫ<EFBFBD> <D2AA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ٸ<EFBFBD> SVzNL2DPoint</param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> 롣
VZNLAPI int VzNL_GetMulDevLaser2DResult ( VZNLDETECTHANDLE hDetechTool , SVzNL2DPosition * p2DPoint , int * pnCount ) ;
/// @brief
/// <20> <> ȡ<EFBFBD> <C8A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 3D<33> <44> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "p3DPoint">[out]3D<33> 㣬<EFBFBD> ڴ<EFBFBD> <DAB4> ռ <EFBFBD> <D5BC> <EFBFBD> <EFBFBD> û<EFBFBD> <C3BB> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// <param name = "pnCount">[in/out]<5D> <> <EFBFBD> <EFBFBD> :<3A> û<EFBFBD> <C3BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> SVzNL3DPosition<6F> Ľṹ<C4BD> <E1B9B9> <EFBFBD> <EFBFBD> ;<3B> <> <EFBFBD> <EFBFBD> :<3A> û<EFBFBD> <C3BB> <EFBFBD> Ҫ<EFBFBD> <D2AA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ٸ<EFBFBD> SVzNL3DPosition</param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> 롣
VZNLAPI int VzNL_GetMulDevLaser3DResult ( VZNLDETECTHANDLE hDetechTool , SVzNL3DPosition * p3DPoint , int * pnCount ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 豸<EFBFBD> Զ<EFBFBD> <D4B6> <EFBFBD> <EFBFBD> ⣬<EFBFBD> <E2A3AC> <EFBFBD> <EFBFBD> <EFBFBD> ؼ<EFBFBD> <D8BC> <EFBFBD> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "pCB">[in]<5D> ص<EFBFBD> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// <param name = "pCBParam">[in]<5D> ص<EFBFBD> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> 롣
VZNLAPI int VzNL_StartMulDeviceAutoDetect ( VZNLDETECTHANDLE hDetechTool , VzNL_GetAutoDetectResultCB pCB , void * pCBParam ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 豸<EFBFBD> Զ<EFBFBD> <D4B6> <EFBFBD> <EFBFBD> ⣬<EFBFBD> <E2A3AC> <EFBFBD> <EFBFBD> <EFBFBD> ؼ<EFBFBD> <D8BC> <EFBFBD> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "pCB">[in]<5D> ص<EFBFBD> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// <param name = "pCBParam">[in]<5D> ص<EFBFBD> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> 롣
VZNLAPI int VzNL_StartMulDeviceAutoDetectEx ( VZNLDETECTHANDLE hDetechTool , EVzResultDataType eResultType , VzNL_AutoOutputLaserLineExCB pCBEx , void * pCBParam ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ںϵ<DABA> <CFB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͡<EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "eMultiDevType">[in]<5D> ںϵ<DABA> <CFB5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> </param>
/// @return <20> <> <EFBFBD> <EFBFBD> 0Ϊ<30> <CEAA> ȷ<EFBFBD> <C8B7> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_SetMulDevType ( VZNLDETECTHANDLE hDetechTool , EVzMultiDevType eMultiDevType ) ;
VZNLAPI int VzNL_GetMulDevType ( VZNLDETECTHANDLE hDetechTool , EVzMultiDevType * peMultiDevType ) ;
/// @brief
/// <20> <> <EFBFBD> þ<EFBFBD> ̬<EFBFBD> <CCAC> <EFBFBD> <EFBFBD> <EFBFBD> ں<EFBFBD> ɨ<EFBFBD> <C9A8> ģʽ <C4A3> <CABD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// <param name = "eMultiDevScanMode">[in]<5D> <> ̬<EFBFBD> <CCAC> <EFBFBD> <EFBFBD> <EFBFBD> ں<EFBFBD> ɨ<EFBFBD> <C9A8> ģʽ </param>
/// @return <20> <> <EFBFBD> <EFBFBD> 0Ϊ<30> <CEAA> ȷ<EFBFBD> <C8B7> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD>
VZNLAPI int VzNL_SetMulStaticDevScanMode ( VZNLDETECTHANDLE hDetechTool , EVzMultiStaticDevScanMode eMultiDevScanMode ) ;
VZNLAPI int VzNL_GetMulStaticDevScanMode ( VZNLDETECTHANDLE hDetechTool , EVzMultiStaticDevScanMode * peMultiDevScanMode ) ;
/// @brief
/// ֹͣ<CDA3> <D6B9> <EFBFBD> 豸<EFBFBD> <E8B1B8> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> 롣
VZNLAPI int VzNL_StopMulDeviceAutoDetect ( VZNLDETECTHANDLE hDetectTool ) ;
/// @brief
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 豸<EFBFBD> <E8B1B8> <EFBFBD> <EFBFBD>
/// <param name = "hDetectHandle">[in]<5D> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <E2B9A4> </param>
/// @return <20> ɹ<EFBFBD> <C9B9> <EFBFBD> <EFBFBD> <EFBFBD> 0<EFBFBD> <30> ʧ<EFBFBD> ܷ<EFBFBD> <DCB7> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> 롣
VZNLAPI int VzNL_EndMultiDeviceDetectLaser ( VZNLDETECTHANDLE * pDetectTool ) ;
/**
* @ brief <EFBFBD> Ƿ <EFBFBD> ֧ <EFBFBD> ָ <EFBFBD> ֡ <EFBFBD> <EFBFBD> <EFBFBD> ½ <EFBFBD> <EFBFBD> <EFBFBD> ģ ʽ
* @ param hDevice <EFBFBD> <EFBFBD> ǰ <EFBFBD> 豸 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ param pnErrorCode <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϣ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҫ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> NULL
* @ return VzTrue <EFBFBD> <EFBFBD> ʾ ֧ <EFBFBD> <EFBFBD> VzFalse <EFBFBD> <EFBFBD> ʾ <EFBFBD> <EFBFBD> ֧ <EFBFBD> <EFBFBD>
*/
VZNLAPI VzBool VzNL_IsMulDevSupportHighFrequenceFallingEdge ( VZNLDETECTHANDLE hDetechTool , int * pnErrorCode ) ;
/**
* @ brief ʹ <EFBFBD> <EFBFBD> / <EFBFBD> <EFBFBD> ֹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݻ <EFBFBD> <EFBFBD> 湦 <EFBFBD> <EFBFBD>
* @ param [ in ] bEnable ʹ <EFBFBD> <EFBFBD> / <EFBFBD> <EFBFBD> <EFBFBD> ã <EFBFBD> ʹ <EFBFBD> ܺ <EFBFBD> ɨ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> л Ὣ <EFBFBD> <EFBFBD> <EFBFBD> ݻ <EFBFBD> <EFBFBD> 浽 <EFBFBD> <EFBFBD> <EFBFBD> أ <EFBFBD> <EFBFBD> ɽ <EFBFBD> <EFBFBD> к <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 2 D <EFBFBD> 㵽 3 D <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ return <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0 <EFBFBD> <EFBFBD> ʾ <EFBFBD> <EFBFBD> ȷ
* @ retval 0 <EFBFBD> <EFBFBD> ʾ <EFBFBD> ɹ <EFBFBD>
* @ retval <EFBFBD> <EFBFBD> 0 <EFBFBD> <EFBFBD> ʾ ʧ <EFBFBD> <EFBFBD> , <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʹ <EFBFBD> <EFBFBD> VzNL_GetErrorInfo <EFBFBD> <EFBFBD> ȡ
*/
VZNLAPI int VzNL_EnableMulDevPointCloudCache ( VZNLDETECTHANDLE hDetechTool , VzBool bEnable ) ;
VZNLAPI VzBool VzNL_IsEnableMulDevPointCloudCache ( VZNLDETECTHANDLE hDetechTool , int * pnErrorCode ) ;
/**
* @ brief <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 豸 <EFBFBD> ں ϲ <EFBFBD> <EFBFBD> <EFBFBD> ( <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> + YRange <EFBFBD> <EFBFBD> ) <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ¼ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ں ϵ <EFBFBD> <EFBFBD> ƣ <EFBFBD>
* @ param [ in ] unsigned int nDevCnt : <EFBFBD> ں <EFBFBD> <EFBFBD> 豸 <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ param [ in ] VZNLHANDLE * pDeviceList <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ں ϵ <EFBFBD> <EFBFBD> 豸 <EFBFBD> б <EFBFBD> <EFBFBD> <EFBFBD>
* @ param [ in ] SVzNLDeviceFusionData * pFusionDataList <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> pIDeviceList <EFBFBD> <EFBFBD> Ӧ <EFBFBD> ĸ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 豸 <EFBFBD> <EFBFBD> <EFBFBD> ں ϲ <EFBFBD> <EFBFBD> <EFBFBD> ( <EFBFBD> ⲿ <EFBFBD> <EFBFBD> <EFBFBD> ܵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ) <EFBFBD> <EFBFBD>
* @ param [ out ] SVzLaserLineCacheData * pFusionPointCloud <EFBFBD> <EFBFBD> ʹ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> IJ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ں Ϻ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ں ϵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݣ <EFBFBD>
* @ return <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0 <EFBFBD> <EFBFBD> ʾ <EFBFBD> <EFBFBD> ȷ
* @ retval <EFBFBD> <EFBFBD> 0 <EFBFBD> <EFBFBD> ʾ ʧ <EFBFBD> <EFBFBD> , <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʹ <EFBFBD> <EFBFBD> VzNL_GetErrorInfo <EFBFBD> <EFBFBD> ȡ
*/
VZNLAPI int VzNL_RedoMulDevPointCloudFusion ( VZNLDETECTHANDLE hDetechTool , unsigned int nDevCnt , VZNLHANDLE * pDeviceList , SVzNLDeviceFusionData * pFusionDataList , SVzLaserLineCacheData * pFusionPointCloud ) ;
/**
* @ brief <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> VzNL_RedoMulDevPointCloudFusion ( ) <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ں Ϻ <EFBFBD> <EFBFBD> ĵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݣ <EFBFBD> <EFBFBD> ͷ <EFBFBD> <EFBFBD> ڴ 棻
* @ param [ in ] SVzLaserLineCacheData * pPointCloudData : <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> VzNL_RedoMulDevPointCloudFusion <EFBFBD> ں Ϻ <EFBFBD> <EFBFBD> ĵ <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
* @ return <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 0 <EFBFBD> <EFBFBD> ʾ <EFBFBD> <EFBFBD> ȷ
* @ retval <EFBFBD> <EFBFBD> 0 <EFBFBD> <EFBFBD> ʾ ʧ <EFBFBD> <EFBFBD> , <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʹ <EFBFBD> <EFBFBD> VzNL_GetErrorInfo <EFBFBD> <EFBFBD> ȡ
*/
VZNLAPI int VzNL_ReleaseMulDevReFusionPointCloud ( VZNLDETECTHANDLE hDetechTool , SVzLaserLineCacheData * pPointCloudData ) ;
2025-07-23 01:35:14 +08:00
# endif