38 lines
1.2 KiB
C++
38 lines
1.2 KiB
C++
#ifndef DETECTIONOUTPUTCONVERTER_H
|
|
#define DETECTIONOUTPUTCONVERTER_H
|
|
|
|
#include "IVrConfig.h"
|
|
#include "IYDiscHolePoseStatus.h"
|
|
#include <QJsonObject>
|
|
|
|
class DetectionOutputConverter
|
|
{
|
|
public:
|
|
// 砂轮盘孔检测结果转换
|
|
static ProtocolDetectionOutput ConvertDiscHoleResult(
|
|
const std::vector<DiscHoleInfo>& discHoleInfoList,
|
|
bool success,
|
|
int errorCode,
|
|
const QString& message,
|
|
int cameraIndex);
|
|
|
|
// 砂轮盘架子检测结果转换
|
|
static ProtocolDetectionOutput ConvertDiscRackResult(
|
|
const std::vector<DiscRackInfo>& discRackInfoList,
|
|
bool success,
|
|
int errorCode,
|
|
const QString& message,
|
|
int cameraIndex);
|
|
|
|
// JSON 序列化
|
|
static QJsonObject DiscHoleOutputToJson(const DiscHoleDetectOutput& output);
|
|
static QJsonObject DiscRackOutputToJson(const DiscRackDetectOutput& output);
|
|
static QJsonObject ToJson(const ProtocolDetectionOutput& output);
|
|
|
|
// 从法向量计算欧拉角
|
|
static void NormalDirToEuler(double nx, double ny, double nz,
|
|
double& roll, double& pitch, double& yaw);
|
|
};
|
|
|
|
#endif // DETECTIONOUTPUTCONVERTER_H
|