GrabBag/SDK/VzNLSDK/Inc/VZNL_DetectCircleMark.h

92 lines
3.0 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.

/*
* Date: 2019/0/28
*/
#ifndef __VIZUM_DETECTED_CIRCLEMARK_HEADER__
#define __VIZUM_DETECTED_CIRCLEMARK_HEADER__
#include "VZNL_Export.h"
#include "VZNL_Types.h"
/**
* @brief 获取自动检测结果
* @param [out] pMarkPos Mark点信息
* @param [out] nCount Mark点个数
* @param [out] pParam 回调传入参数
*/
typedef void(*VzNL_GetAutoDetectMarkResultCB)(SVzCircleMarkPosInfo* pMarkPos, int nCount, void* pParam);
/**
* @brief 开始圆形Mark检测
* @param [in] hDevice 设备句柄
* @param [in] bPointMark Mark点个数VzTrue为点Mark,VzFalse为面Mark
* @return 返回0为正确失败返回错误码
*/
VZNLAPI int VzNL_BeginDetectCircleMark(VZNLHANDLE hDevice, VzBool bPointMark);
/**
* @brief 设置Mark的点
* @param [in] hDevice 设备句柄
* @param [in] nDiameter 要检测的Mark点的直径
* @return 返回0为正确失败返回错误码
*/
VZNLAPI int VzNL_SetCircleMarkDiameter(VZNLHANDLE hDevice, int nDiameter);
/**
* @brief 设置Mark的饱和门限值
* @param [in] hDevice 设备句柄
* @param [in] nSatureate 饱和门限值
* @return 返回0为正确失败返回错误码
*/
VZNLAPI int VzNL_SetCircleMarkSatureate(VZNLHANDLE hDevice, int nSatureate);
VZNLAPI int VzNL_GetCircleMarkSatureate(VZNLHANDLE hDevice, int* pnErrorCode);
/**
* @brief 圆形Mark检测
* @param [in] hDevice 设备句柄
* @return 返回0为正确失败返回错误码
*/
VZNLAPI int VzNL_DetectCircleMark(VZNLHANDLE hDevice);
/**
* @brief 获取圆形Mark线结果点的个数
* @param [in] hDevice 设备句柄
* @return 点的个数
*/
VZNLAPI int VzNL_GetCircleMarkResultPointCount(VZNLHANDLE hDevice);
/**
* @brief 获取圆形Mark线3D结果
* @param [in] hDevice 设备句柄
* @param [out] p3DPoint 3D点内存空间由用户分配
* @param [in/out] pnCount 传入:用户分配的SVzCircleMarkPosInfo的结构个数;传出:用户需要分配多少个SVzCircleMarkPosInfo
* @return 返回0为正确失败返回错误码
*/
VZNLAPI int VzNL_GetCircleMark3DResult(VZNLHANDLE hDevice, SVzCircleMarkPosInfo* pMarkPos, int* pnCount);
/**
* @brief 启动自动检测并且返回圆形Mark线
* @param [in] hDevice 设备句柄
* @param [in] pCB 自动检测数据回调函数
* @param [in] pCBParam 回调函数返回参数
* @return 返回0为正确失败返回错误码
*/
VZNLAPI int VzNL_StartAutoDetectCircleMark(VZNLHANDLE hDevice, VzNL_GetAutoDetectMarkResultCB pCB, void* pCBParam);
/**
* @brief 停止自动检测
* @param [in] hDevice 设备句柄
* @return 返回0为正确失败返回错误码
*/
VZNLAPI int VzNL_StopAutoDetectCircleMark(VZNLHANDLE hDevice);
/**
* @brief 结束圆形Mark检测
* @param [in] hDevice 设备句柄
* @return 返回0为正确失败返回错误码
*/
VZNLAPI void VzNL_EndDetectCircleMark(VZNLHANDLE hDevice);
#endif //__VIZUM_DETECTED_LASER_HEADER__