141 lines
4.2 KiB
C
141 lines
4.2 KiB
C
|
|
/*
|
|||
|
|
* Header: VZNL_DetectDivRebar.h
|
|||
|
|
* Description:
|
|||
|
|
*
|
|||
|
|
* Sample:
|
|||
|
|
* VzNL_BeginDetectDivRebar();
|
|||
|
|
*
|
|||
|
|
* VzNL_SetLaserStandard();
|
|||
|
|
*
|
|||
|
|
* VzNL_EndDetectDivRebar();
|
|||
|
|
* Author: Mjw
|
|||
|
|
* Date: 2021/02/05
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef __VIZUM_DETECTED_DIVREBAR_HEADER__
|
|||
|
|
#define __VIZUM_DETECTED_DIVREBAR_HEADER__
|
|||
|
|
|
|||
|
|
#include "VZNL_Export.h"
|
|||
|
|
#include "VZNL_Types.h"
|
|||
|
|
|
|||
|
|
/// @brief
|
|||
|
|
/// <20>ָֽ<D6B8><D6BD><EFBFBD>
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
EVzResultDataType eDataType; //< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
SVzLaserLineData* pLineData; //< <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
unsigned int nLineCount; //< <20><><EFBFBD><EFBFBD>
|
|||
|
|
}SVzNLDivRebarBlockData;
|
|||
|
|
|
|||
|
|
/// @brief
|
|||
|
|
/// <20>ָּ<D6B8><D6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
typedef void(*VzFunDivRebarResultDataCB)(SVzNLDivRebarBlockData* pDivRebarBlockData, void* pParam);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⺯<EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <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_BeginDetectDivRebar(VZNLHANDLE hDevice);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>˸߶<EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] dFilterHeight <EFBFBD><EFBFBD><EFBFBD>˸߶ȣ<EFBFBD><EFBFBD>˸߶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VzTrue
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetDivRebarFilterZRange(VZNLHANDLE hDevice, float fZMin, float fZMax);
|
|||
|
|
VZNLAPI int VzNL_GetDivRebarFilterZRange(VZNLHANDLE hDevice, float* pfZMin, float* pfZMax);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>˸߶<EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] dFilterHeight <EFBFBD><EFBFBD><EFBFBD>˸߶ȣ<EFBFBD><EFBFBD>˸߶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VzTrue
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetDivRebarFilterYRange(VZNLHANDLE hDevice, float fYMin, float fYMax);
|
|||
|
|
VZNLAPI int VzNL_GetDivRebarFilterYRange(VZNLHANDLE hDevice, float* pfYMin, float* pfYMax);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ȡɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] nScanDelay ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetDivRebarScanDelay(VZNLHANDLE hDevice, unsigned int nScanDelay);
|
|||
|
|
VZNLAPI int VzNL_GetDivRebarScanDelay(VZNLHANDLE hDevice, unsigned int* pnScanDelay);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⼤<EFBFBD><EFBFBD><EFBFBD>߸<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] nScanMaxLine <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetDivRebarScanMaxLine(VZNLHANDLE hDevice, unsigned int nScanMaxLine);
|
|||
|
|
VZNLAPI int VzNL_GetDivRebarScanMaxLine(VZNLHANDLE hDevice, unsigned int* pnScanMaxLine);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD>Ƽ<EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] eRunMode <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetDivRebarRunMode(VZNLHANDLE hDevice, EVzPointCloudProcMode eCloudMode);
|
|||
|
|
VZNLAPI int VzNL_GetDivRebarRunMode(VZNLHANDLE hDevice, EVzPointCloudProcMode* peCloudMode);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>ٶ<EFBFBD>ֵ
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] dSpeed <EFBFBD>ٶ<EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>궨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VzTrue
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetDivRebarSpeed(VZNLHANDLE hDevice, double dSpeed);
|
|||
|
|
VZNLAPI int VzNL_GetDivRebarSpeed(VZNLHANDLE hDevice, double* pdSpeed);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] fDistance <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (3.1415926 * <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>) / <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetDivRebarEncodeDistance(VZNLHANDLE hDevice, float fDistance);
|
|||
|
|
VZNLAPI int VzNL_GetDivRebarEncodeDistance(VZNLHANDLE hDevice, float* pfDistance);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] nValidMinLine <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetDivRebarValidLines(VZNLHANDLE hDevice, unsigned int nValidMinLine);
|
|||
|
|
VZNLAPI int VzNL_GetDivRebarValidLines(VZNLHANDLE hDevice, unsigned int* pnValidMinLine);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] nBlockMinLines <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetDivRebarBlockMinLines(VZNLHANDLE hDevice, unsigned int nBlockMinLines);
|
|||
|
|
VZNLAPI int VzNL_GetDivRebarBlockMinLines(VZNLHANDLE hDevice, unsigned int* pnBlockMinLines);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] pCB <EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] pCBParam <EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_StartDivRebarAutoDetect(VZNLHANDLE hDevice, VzFunDivRebarResultDataCB pCB, void* pCBParam);
|
|||
|
|
VZNLAPI int VzNL_StopDivRebarAutoDetect(VZNLHANDLE hDevice);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
VZNLAPI void VzNL_EndDetectDivRebar(VZNLHANDLE hDevice);
|
|||
|
|
#endif //__VIZUM_DETECTED_DIVREBAR_HEADER__
|