/*
* Header: VZNL_DetectLine.h
* Description:当前文件为伟景智能(Vizum)所研发的EyeCB板提供检测线的函数接口。
*
* Sample:
* VzNL_BeginDetectLine();
*
*
* VzNL_EndDetectLine();
* Author: Mjw
* Date: 2018/08/28
*/
#ifndef __VIZUM_DETECTED_LINE_HEADER__
#define __VIZUM_DETECTED_LINE_HEADER__
#include "VZNL_Export.h"
#include "VZNL_Types.h"
/// @brief
/// 开始直线检测
/// [in]设备句柄
/// @return 返回0为正确,失败返回错误码
VZNLAPI int VzNL_BeginDetectLine(VZNLHANDLE hDevice);
/// @brief
/// 设置检测距离
/// [in]设备句柄
/// [in]最小距离
/// [in]最大距离
/// @return 返回0为正确,失败返回错误码
VZNLAPI int VzNL_ConfigDetectLineDistance(VZNLHANDLE hDevice, int nMin_mm, int nMax_mm);
/// @brief
/// 检测线
/// [in]设备句柄
/// @return 返回0为正确,失败返回错误码
VZNLAPI int VzNL_DetectLine(VZNLHANDLE hDevice);
/// @brief
/// 获取检测结果中线条的数量
/// [in]设备句柄
/// @return 线条数量
VZNLAPI int VzNL_GetLineResultCount(VZNLHANDLE hDevice);
/// @brief
/// 获取检测的线条2D结果
/// [in]设备句柄
/// [out]2D线,内存空间由用户分配
/// [in/out]传入:用户分配的SVzNL2DLineResult的结构个数;传出:用户需要分配多少个SVzNL2DLineResult
/// @return 成功返回0,失败返回错误码。
VZNLAPI int VzNL_GetLine2DResult(VZNLHANDLE hDevice, SVzNL2DLineResult* p2DLine, int* pnCount);
/// @brief
/// 获取检测的线条3D结果
/// [in]设备句柄
/// [out]3D线,内存空间由用户分配
/// [in/out]传入:用户分配的SVzNL3DLineResult的结构个数;传出:用户需要分配多少个SVzNL3DLineResult
/// @return 成功返回0,失败返回错误码。
VZNLAPI int VzNL_GetLine3DResult(VZNLHANDLE hDevice, SVzNL3DLineResult* p3DLine, int* pnCount);
/// @brief
/// 结束直线检测
/// [in]设备句柄
VZNLAPI void VzNL_EndDetectLine(VZNLHANDLE hDevice);
#endif //__VIZUM_DETECTED_LINE_HEADER__