GrabBag/SDK/VzNLSDK/Inc/VZNL_DetectCounter.h

90 lines
3.2 KiB
C
Raw Normal View History

2025-07-23 01:35:14 +08:00
#ifndef __VIZUM_DETECTED_COUNTER_HEADER__
#define __VIZUM_DETECTED_COUNTER_HEADER__
#include "VZNL_Export.h"
#include "VZNL_Types.h"
/**
* @defgroup <EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @author Mjw
* @version 1.0
* @date 2019.09.10
* @{
*/
/// @brief
/// <20><>ȡ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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
/// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <param name = "hDevice">[in]<5D><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// @return <20><><EFBFBD><EFBFBD><30><CEAA>ȷ<EFBFBD><C8B7>ʧ<EFBFBD>ܷ<EFBFBD><DCB7>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD>
VZNLAPI int VzNL_BeginDetectCounter(VZNLHANDLE hDevice, VzBool bCounterOrLabel);
/// @brief
/// һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VZNLAPI int VzNL_EnableSimpleResultMode(VZNLHANDLE hDevice, VzBool bEnableSimpleMode);
/// @brief
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-
/// <param name = "hDevice">[in]<5D><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name = "nPointInterval">[in]<5D><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD></param>
/// @return <20><><EFBFBD><EFBFBD><30><CEAA>ȷ<EFBFBD><C8B7>ʧ<EFBFBD>ܷ<EFBFBD><DCB7>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD>
VZNLAPI int VzNL_DetectCounterLaser(VZNLHANDLE hDevice, int nPointInterval);
/// @brief
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
/// <param name = "hDevice">[in]<5D><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// @return <20><><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
VZNLAPI int VzNL_GetCounterLaserResultPointCount(VZNLHANDLE hDevice);
/// @brief
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2D<32><44><EFBFBD><EFBFBD>
/// <param name = "hDevice">[in]<5D><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name = "p2DPoint">[out]2D<32><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name = "pnCount">[in/out]<5D><><EFBFBD><EFBFBD>:<3A>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SVzNL2DPoint<6E>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>:<3A>û<EFBFBD><C3BB><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD>SVzNL2DPoint</param>
/// @return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ʧ<EFBFBD>ܷ<EFBFBD><DCB7>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>
VZNLAPI int VzNL_GetCounterLaser2DResult(VZNLHANDLE hDevice, SVzNL2DPosition* p2DPoint, int* pnCount);
/// @brief
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3D<33><44><EFBFBD><EFBFBD>
/// <param name = "hDevice">[in]<5D><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name = "p3DPoint">[out]3D<33><EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name = "pnCount">[in/out]<5D><><EFBFBD><EFBFBD>:<3A>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SVzNL3DPosition<6F>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>:<3A>û<EFBFBD><C3BB><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD>SVzNL3DPosition</param>
/// @return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ʧ<EFBFBD>ܷ<EFBFBD><DCB7>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>
VZNLAPI int VzNL_GetCounterLaser3DResult(VZNLHANDLE hDevice, SVzNL3DPosition* p3DPoint, int* pnCount);
/// @brief
/// <20><><EFBFBD>ô<EFBFBD><C3B4>ʹ<EFBFBD><CDB4>ٶ<EFBFBD>ֵ
VZNLAPI int VzNL_ConfigCounterRunSpeedValue(VZNLHANDLE hDevice, double dSpeed);
/// @brief
/// <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
VZNLAPI int VzNL_CounterStartFromLaser(VZNLHANDLE hDevice, EVzObjRunDirect eRunDirect, VzNL_GetCounterResultCB pCB, void* pCBParam);
/// @brief
/// <20><><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><E8A3AC>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
/// <param name = "hDevice">[in]<5D><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
VZNLAPI int VzNL_CounterStopLaserGetRes(VZNLHANDLE hDevice, SVzNLCounter** ppCounterRes);
/// @brief
/// <20><><EFBFBD>øֽ<C3B8><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <param name = "hDevice">[in]<5D><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
VZNLAPI int VzNL_CounterConfigDetectRange(VZNLHANDLE hDevice, unsigned int nFrontDis, unsigned int nBackDis);
/// @brief
/// <20><><EFBFBD><EFBFBD>Mark<72><6B>С width<74><68>heighΪ0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <param name = "hDevice">[in]<5D><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
VZNLAPI int VzNL_CounterConfigMarkSize(VZNLHANDLE hDevice, const SVzNLSize sSize);
/// @brief
/// <20><><EFBFBD><EFBFBD>Counter
VZNLAPI void VzNL_ReleaseCounterRes(SVzNLCounter** ppCounterRes);
/// @brief
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <param name = "hDevice">[in]<5D><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
VZNLAPI void VzNL_EndDetectCounter(VZNLHANDLE hDevice);
#endif //__VIZUM_DETECTED_COUNTER_HEADER__