GrabBag/SDK/VzNLSDK/Inc/VZNL_DetectCounter.h

90 lines
3.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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__