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
|
|
/// 分钢结果
|
|
typedef struct
|
|
{
|
|
EVzResultDataType eDataType; //< 数据类型
|
|
SVzLaserLineData* pLineData; //< 线数据
|
|
unsigned int nLineCount; //< 线数
|
|
}SVzNLDivRebarBlockData;
|
|
|
|
/// @brief
|
|
/// 分钢计数结果
|
|
typedef void(*VzFunDivRebarResultDataCB)(SVzNLDivRebarBlockData* pDivRebarBlockData, void* pParam);
|
|
|
|
/**
|
|
* @brief 创建物流体积检测函数
|
|
* @param [in] hDevice 设备句柄
|
|
* @return 返回0表示正确
|
|
* @retval 0 表示成功
|
|
* @retval 非0 表示失败,可以使用VzNL_GetErrorInfo获取
|
|
*/
|
|
VZNLAPI int VzNL_BeginDetectDivRebar(VZNLHANDLE hDevice);
|
|
|
|
/**
|
|
* @brief 设置/获取过滤高度
|
|
* @param [in] hDevice 设备句柄
|
|
* @param [in] dFilterHeight 过滤高度(此高度以下的数据不输出)
|
|
* @return 如果标定过返回VzTrue
|
|
*/
|
|
VZNLAPI int VzNL_SetDivRebarFilterZRange(VZNLHANDLE hDevice, float fZMin, float fZMax);
|
|
VZNLAPI int VzNL_GetDivRebarFilterZRange(VZNLHANDLE hDevice, float* pfZMin, float* pfZMax);
|
|
|
|
/**
|
|
* @brief 设置/获取过滤高度
|
|
* @param [in] hDevice 设备句柄
|
|
* @param [in] dFilterHeight 过滤高度(此高度以下的数据不输出)
|
|
* @return 如果标定过返回VzTrue
|
|
*/
|
|
VZNLAPI int VzNL_SetDivRebarFilterYRange(VZNLHANDLE hDevice, float fYMin, float fYMax);
|
|
VZNLAPI int VzNL_GetDivRebarFilterYRange(VZNLHANDLE hDevice, float* pfYMin, float* pfYMax);
|
|
|
|
/**
|
|
* @brief 设置/获取扫描延时时间
|
|
* @param [in] hDevice 设备句柄
|
|
* @param [in] nScanDelay 扫描延时
|
|
* @return 返回错误值
|
|
*/
|
|
VZNLAPI int VzNL_SetDivRebarScanDelay(VZNLHANDLE hDevice, unsigned int nScanDelay);
|
|
VZNLAPI int VzNL_GetDivRebarScanDelay(VZNLHANDLE hDevice, unsigned int* pnScanDelay);
|
|
|
|
/**
|
|
* @brief 设置/获取最大检测激光线个数
|
|
* @param [in] hDevice 设备句柄
|
|
* @param [in] nScanMaxLine 单个物体最大扫描线数
|
|
* @return 返回错误值
|
|
*/
|
|
VZNLAPI int VzNL_SetDivRebarScanMaxLine(VZNLHANDLE hDevice, unsigned int nScanMaxLine);
|
|
VZNLAPI int VzNL_GetDivRebarScanMaxLine(VZNLHANDLE hDevice, unsigned int* pnScanMaxLine);
|
|
|
|
/**
|
|
* @brief 设置点云计算模式
|
|
* @param [in] hDevice 设备句柄
|
|
* @param [in] eRunMode 运行模式
|
|
* @return 返回错误值
|
|
*/
|
|
VZNLAPI int VzNL_SetDivRebarRunMode(VZNLHANDLE hDevice, EVzPointCloudProcMode eCloudMode);
|
|
VZNLAPI int VzNL_GetDivRebarRunMode(VZNLHANDLE hDevice, EVzPointCloudProcMode* peCloudMode);
|
|
|
|
/**
|
|
* @brief 设置传送带速度值
|
|
* @param [in] hDevice 设备句柄
|
|
* @param [in] dSpeed 速度
|
|
* @return 如果标定过返回VzTrue
|
|
*/
|
|
VZNLAPI int VzNL_SetDivRebarSpeed(VZNLHANDLE hDevice, double dSpeed);
|
|
VZNLAPI int VzNL_GetDivRebarSpeed(VZNLHANDLE hDevice, double* pdSpeed);
|
|
|
|
/**
|
|
* @brief 设置/获取物流编码器距离
|
|
* @param [in] hDevice 设备句柄
|
|
* @param [in] fDistance 脉冲间距 (3.1415926 * 传动轴直径) / 编码器分辨率
|
|
* @return 返回错误值
|
|
*/
|
|
VZNLAPI int VzNL_SetDivRebarEncodeDistance(VZNLHANDLE hDevice, float fDistance);
|
|
VZNLAPI int VzNL_GetDivRebarEncodeDistance(VZNLHANDLE hDevice, float* pfDistance);
|
|
|
|
/**
|
|
* @brief 设置/获取物体最小线束
|
|
* @param [in] hDevice 设备句柄
|
|
* @param [in] nValidMinLine 物体有效的最小线数
|
|
* @return 返回错误值
|
|
*/
|
|
VZNLAPI int VzNL_SetDivRebarValidLines(VZNLHANDLE hDevice, unsigned int nValidMinLine);
|
|
VZNLAPI int VzNL_GetDivRebarValidLines(VZNLHANDLE hDevice, unsigned int* pnValidMinLine);
|
|
|
|
/**
|
|
* @brief 设置/获取最小物体间隔有效线
|
|
* @param [in] hDevice 设备句柄
|
|
* @param [in] nBlockMinLines 物体间隔的最小线数
|
|
* @return 返回错误值
|
|
*/
|
|
VZNLAPI int VzNL_SetDivRebarBlockMinLines(VZNLHANDLE hDevice, unsigned int nBlockMinLines);
|
|
VZNLAPI int VzNL_GetDivRebarBlockMinLines(VZNLHANDLE hDevice, unsigned int* pnBlockMinLines);
|
|
|
|
/**
|
|
* @brief 设置运行模式
|
|
* @param [in] hDevice 设备句柄
|
|
* @param [in] pCB 回调函数
|
|
* @param [in] pCBParam 回调参数
|
|
* @return 返回错误值
|
|
*/
|
|
VZNLAPI int VzNL_StartDivRebarAutoDetect(VZNLHANDLE hDevice, VzFunDivRebarResultDataCB pCB, void* pCBParam);
|
|
VZNLAPI int VzNL_StopDivRebarAutoDetect(VZNLHANDLE hDevice);
|
|
|
|
/**
|
|
* @brief 结束物流检测
|
|
* @param [in] hDevice 设备句柄
|
|
* @return 返回点的个数
|
|
*/
|
|
VZNLAPI void VzNL_EndDetectDivRebar(VZNLHANDLE hDevice);
|
|
#endif //__VIZUM_DETECTED_DIVREBAR_HEADER__
|