/*
* Header: VZNL_DetectTriangle.h
* Description:当前文件为伟景智能(Vizum)所研发的EyeCB板提供检测形狀函数接口。
*
* Sample:
* VzNL_BeginDetectTriangle();
*
* VzNL_EndDetectTriangle();
* Author: Mjw
* Date: 2018/08/28
*/
#ifndef __VIZUM_DETECTED_TRIANGLE_HEADER__
#define __VIZUM_DETECTED_TRIANGLE_HEADER__
#include "VZNL_Export.h"
#include "VZNL_Types.h"
/// @brief
/// 开始矩形检测
/// [in]设备句柄
/// @return 返回0为正确,失败返回错误码
VZNLAPI int VzNL_BeginDetectTriangle(VZNLHANDLE hDevice);
/// @brief
/// 设置检测距离
VZNLAPI int VzNL_ConfigDetectTriangleDistance(VZNLHANDLE hDevice, int nMin_mm, int nMax_mm);
/// @brief
/// 检测矩形
/// [in]设备句柄
/// [in]要检测的矩形类型
/// [in]要检测的矩形类型数量
/// @return 返回0为正确,失败返回错误码
VZNLAPI int VzNL_DetectTriangle(VZNLHANDLE hDevice, const SVzNLTriangleInfo* pTriangleInfo, int nTriangleCount);
/// @brief
/// 获取矩形结果的个数
/// [in]设备句柄
VZNLAPI int VzNL_GetTriangleResultCount(VZNLHANDLE hDevice);
/// @brief
/// 获取检测矩形的2D结果
/// [in]设备句柄
/// [out]2D矩形结果结构,内存空间由用户分配
/// [in/out]传入:用户分配的SVzNL2DRectResult的结构个数;传出:用户需要分配多少个SVzNL2DRectResult
/// @return 成功返回0,失败返回错误码。
VZNLAPI int VzNL_GetTriangle2DResult(VZNLHANDLE hDevice, SVzNL2DTriangleResult* p2DRectResult, int* pn2DRectCount);
/// @brief
/// 获取检测矩形的3D结果
/// [in]设备句柄
/// [out]3D矩形结果结构,内存空间由用户分配
/// [in/out]传入:用户分配的SVzNL3DRectResult的结构个数;传出:用户需要分配多少个SVzNL3DRectResult
/// @return 成功返回0,失败返回错误码。
VZNLAPI int VzNL_GetTriangle3DResult(VZNLHANDLE hDevice, SVzNL3DTriangleResult* p3DRectResult, int* pn3DRectCount);
/// @brief
/// 结束矩形检测
/// [in]设备句柄
VZNLAPI void VzNL_EndDetectTriangle(VZNLHANDLE hDevice);
#endif //__VIZUM_DETECTED_RECT_HEADER__