71 lines
2.2 KiB
C
Raw Normal View History

2026-03-28 10:49:55 +08:00
#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;
/**
* @brief 使
*
* eulerOrder 姿 (rx/ry/rz )
* 姿 ( roll/pitch/yaw)
* rotX/Y/Z Eye Rx*Ry*Rz
* approachOffset 沿姿mm
*/
struct HandEyeExtrinsic
{
int eulerOrder = 11;
double rotX = 0.0;
double rotY = 0.0;
double rotZ = 0.0;
double approachOffset = 0.0;
};
2026-03-28 10:49:55 +08:00
class DetectPresenter
{
private:
/* data */
public:
DetectPresenter(/* args */);
~DetectPresenter();
static QString GetAlgoVersion();
2026-03-28 10:49:55 +08:00
/// 螺杆检测接口
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,
const HandEyeExtrinsic& extrinsic,
2026-04-17 10:18:03 +08:00
int poseOutputOrder,
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,
const HandEyeExtrinsic& extrinsic,
2026-04-17 10:18:03 +08:00
int poseOutputOrder,
2026-03-28 10:49:55 +08:00
DetectionResult& detectionResult);
};