50 lines
1.4 KiB
C
Raw Normal View History

2026-03-26 08:30:31 +08:00
#ifndef DETECTPRESENTER_H
#define DETECTPRESENTER_H
#include "VrLog.h"
#include "VrError.h"
#include "IVrEyeDevice.h"
#include "IYHolePitPositionStatus.h"
#include "IVrConfig.h"
#include "LaserDataLoader.h"
#include "ProtocolCommon.h"
class DetectPresenter
{
public:
DetectPresenter();
~DetectPresenter();
// 获取算法版本号
std::string GetAlgoVersion() const;
/**
* @brief 执行凹坑孔定位检测(眼在手上方式)
* @param cameraIndex 相机索引
* @param laserLines 激光线数据
* @param algorithmParams 算法参数
* @param debugParam 调试参数
* @param dataLoader 数据加载器
* @param clibMatrix 手眼标定矩阵(4x4),T_end_to_cam
* @param eulerOrder 欧拉角顺序
* @param dirVectorInvert 方向向量反向配置
* @param robotPose 机器人法兰位姿,T_base_to_end
* @param detectionResult 检测结果输出
* @return 错误码
*/
int DetectHoles(
int cameraIndex,
std::vector<std::pair<EVzResultDataType, SVzLaserLineData>>& laserLines,
const VrAlgorithmParams& algorithmParams,
const VrDebugParam& debugParam,
LaserDataLoader& dataLoader,
const double clibMatrix[16],
int eulerOrder,
int dirVectorInvert,
const RobotFlangePose& robotPose,
HoleDetectionResult& detectionResult);
};
#endif // DETECTPRESENTER_H