2026-03-11 23:40:06 +08:00
|
|
|
|
#ifndef DETECTPRESENTER_H
|
|
|
|
|
|
#define DETECTPRESENTER_H
|
|
|
|
|
|
|
|
|
|
|
|
#include "VrLog.h"
|
|
|
|
|
|
#include "VrError.h"
|
|
|
|
|
|
#include "IVrEyeDevice.h"
|
|
|
|
|
|
#include "IYHoleDetectionStatus.h"
|
|
|
|
|
|
#include "IVrConfig.h"
|
|
|
|
|
|
#include "LaserDataLoader.h"
|
2026-04-02 22:17:20 +08:00
|
|
|
|
#include <QString>
|
2026-03-11 23:40:06 +08:00
|
|
|
|
|
|
|
|
|
|
#include "ProtocolCommon.h"
|
|
|
|
|
|
|
|
|
|
|
|
class DetectPresenter
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
DetectPresenter();
|
|
|
|
|
|
~DetectPresenter();
|
|
|
|
|
|
|
2026-04-02 22:17:20 +08:00
|
|
|
|
static QString GetAlgoVersion();
|
|
|
|
|
|
|
2026-03-11 23:40:06 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* @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
|