2026-04-19 12:28:59 +08:00

60 lines
1.9 KiB
C++

#pragma once
#include <iostream>
#include <vector>
#include <memory>
#include <QString>
#include "rodAndBarDetection_Export.h"
#include "VZNL_Types.h"
#include "VrTimeUtils.h"
#include "VrError.h"
#include "VrLog.h"
#include "IVrConfig.h"
#include "LaserDataLoader.h"
#include "IYScrewPositionStatus.h"
#include "PointCloudImageUtils.h"
#include "VrConvert.h"
#include "VrDateUtils.h"
struct RobotPose6D;
class DetectPresenter
{
private:
/* data */
public:
DetectPresenter(/* args */);
~DetectPresenter();
static QString GetAlgoVersion();
/// 螺杆检测接口
int DetectScrew( int cameraIndex,
std::vector<std::pair<EVzResultDataType, SVzLaserLineData>>& laserLines,
const VrAlgorithmParams& algorithmParams,
const VrDebugParam& debugParam,
LaserDataLoader& dataLoader,
const double clibMatrix[16],
const RobotPose6D& robotPose,
int eulerOrder,
int outputEulerOrder,
int poseOutputOrder,
int dirVectorInvert,
int longAxisDir,
DetectionResult& detectionResult);
/// 工具盘检测接口
int DetectToolDisk(int cameraIndex,
std::vector<std::pair<EVzResultDataType, SVzLaserLineData>>& laserLines,
const VrAlgorithmParams& algorithmParams,
const VrDebugParam& debugParam,
LaserDataLoader& dataLoader,
const double clibMatrix[16],
const RobotPose6D& robotPose,
int eulerOrder,
int outputEulerOrder,
int poseOutputOrder,
int dirVectorInvert,
int longAxisDir,
DetectionResult& detectionResult);
};