GrabBag/App/StatorWorkpiecePosition/WorkpieceTaperedApp/IYStatorWorkpiecePositionStatus.h

58 lines
1.9 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef IYSTATORWORKPIECEPOSITIONSTATUS_H
#define IYSTATORWORKPIECEPOSITIONSTATUS_H
#include <string>
#include <functional>
#include <vector>
#include <QImage>
#include <QMetaType>
// 使用 AppCommon 提供的通用接口和类型
#include "IVisionApplicationStatus.h"
struct WorkpiecePoint3D {
double x = 0.0;
double y = 0.0;
double z = 0.0;
WorkpiecePoint3D() = default;
WorkpiecePoint3D(double xValue, double yValue, double zValue)
: x(xValue), y(yValue), z(zValue) {}
};
// 机械臂六轴位姿和算法原始工件数据同时保留,供 UI 与协议层使用。
struct WorkpiecePosition : public PositionData<double> {
int workpieceType = 0;
int sourceDetectionIndex = -1;
double value = 0.0;
// 原始算法中心经手眼矩阵变换后的机器人坐标,不包含工具 offset
// PositionData::x/y/z 才是加入工具 offset 后的最终目标点。
WorkpiecePoint3D center;
WorkpiecePoint3D xDir;
WorkpiecePoint3D yDir;
WorkpiecePoint3D zDir;
WorkpiecePosition() = default;
WorkpiecePosition(const WorkpiecePosition&) = default;
WorkpiecePosition& operator=(const WorkpiecePosition&) = default;
};
struct StatorWorkpiecePositionDetectionResult : public DetectionResultData<WorkpiecePosition> {
StatorWorkpiecePositionDetectionResult() = default;
StatorWorkpiecePositionDetectionResult(const StatorWorkpiecePositionDetectionResult&) = default;
StatorWorkpiecePositionDetectionResult& operator=(const StatorWorkpiecePositionDetectionResult&) = default;
};
// 状态回调接口
class IYStatorWorkpiecePositionStatus : public IVisionApplicationStatus<StatorWorkpiecePositionDetectionResult>
{
public:
virtual ~IYStatorWorkpiecePositionStatus() = default;
};
Q_DECLARE_METATYPE(WorkpiecePoint3D)
Q_DECLARE_METATYPE(WorkpiecePosition)
Q_DECLARE_METATYPE(StatorWorkpiecePositionDetectionResult)
#endif // IYSTATORWORKPIECEPOSITIONSTATUS_H