90 lines
3.2 KiB
C
90 lines
3.2 KiB
C
#ifndef __VIZUM_DETECTED_COUNTER_HEADER__
|
||
#define __VIZUM_DETECTED_COUNTER_HEADER__
|
||
|
||
#include "VZNL_Export.h"
|
||
#include "VZNL_Types.h"
|
||
|
||
/**
|
||
* @defgroup 钢筋计数
|
||
* @author Mjw
|
||
* @version 1.0
|
||
* @date 2019.09.10
|
||
* @{
|
||
*/
|
||
|
||
/// @brief
|
||
/// 获取自动检测结果
|
||
typedef int(*VzNL_GetCounterResultCB)(SVzNL3DPosition* p3DPoint, SVzNL2DPosition* p2DPoint, int nCount, unsigned long long nTimeStamp, double dTotleOffset, double dStep, SVzNLImageData* pLeftImage, SVzNLImageData* pRightImage, void* pParam);
|
||
|
||
/// @brief
|
||
/// 开始激光检测
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// @return 返回0为正确,失败返回错误码
|
||
VZNLAPI int VzNL_BeginDetectCounter(VZNLHANDLE hDevice, VzBool bCounterOrLabel);
|
||
|
||
/// @brief
|
||
/// 一键加速
|
||
VZNLAPI int VzNL_EnableSimpleResultMode(VZNLHANDLE hDevice, VzBool bEnableSimpleMode);
|
||
|
||
/// @brief
|
||
/// 激光检测-
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "nPointInterval">[in]点的间隔</param>
|
||
/// @return 返回0为正确,失败返回错误码
|
||
VZNLAPI int VzNL_DetectCounterLaser(VZNLHANDLE hDevice, int nPointInterval);
|
||
|
||
/// @brief
|
||
/// 获取激光线结果点的个数
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// @return 点的个数
|
||
VZNLAPI int VzNL_GetCounterLaserResultPointCount(VZNLHANDLE hDevice);
|
||
|
||
/// @brief
|
||
/// 获取激光线2D结果
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "p2DPoint">[out]2D点,内存空间由用户分配</param>
|
||
/// <param name = "pnCount">[in/out]传入:用户分配的SVzNL2DPoint的结构个数;传出:用户需要分配多少个SVzNL2DPoint</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI int VzNL_GetCounterLaser2DResult(VZNLHANDLE hDevice, SVzNL2DPosition* p2DPoint, int* pnCount);
|
||
|
||
/// @brief
|
||
/// 获取激光线3D结果
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "p3DPoint">[out]3D点,内存空间由用户分配</param>
|
||
/// <param name = "pnCount">[in/out]传入:用户分配的SVzNL3DPosition的结构个数;传出:用户需要分配多少个SVzNL3DPosition</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI int VzNL_GetCounterLaser3DResult(VZNLHANDLE hDevice, SVzNL3DPosition* p3DPoint, int* pnCount);
|
||
|
||
/// @brief
|
||
/// 设置传送带速度值
|
||
VZNLAPI int VzNL_ConfigCounterRunSpeedValue(VZNLHANDLE hDevice, double dSpeed);
|
||
|
||
/// @brief
|
||
/// 开始计数
|
||
VZNLAPI int VzNL_CounterStartFromLaser(VZNLHANDLE hDevice, EVzObjRunDirect eRunDirect, VzNL_GetCounterResultCB pCB, void* pCBParam);
|
||
|
||
/// @brief
|
||
/// 结束扫描,开始结束
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
VZNLAPI int VzNL_CounterStopLaserGetRes(VZNLHANDLE hDevice, SVzNLCounter** ppCounterRes);
|
||
|
||
/// @brief
|
||
/// 配置钢筋检测参数
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
VZNLAPI int VzNL_CounterConfigDetectRange(VZNLHANDLE hDevice, unsigned int nFrontDis, unsigned int nBackDis);
|
||
|
||
/// @brief
|
||
/// 配置Mark大小 width或heigh为0 不检测
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
VZNLAPI int VzNL_CounterConfigMarkSize(VZNLHANDLE hDevice, const SVzNLSize sSize);
|
||
|
||
/// @brief
|
||
/// 清理Counter
|
||
VZNLAPI void VzNL_ReleaseCounterRes(SVzNLCounter** ppCounterRes);
|
||
|
||
/// @brief
|
||
/// 结束激光检测
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
VZNLAPI void VzNL_EndDetectCounter(VZNLHANDLE hDevice);
|
||
|
||
#endif //__VIZUM_DETECTED_COUNTER_HEADER__
|