58 lines
1.9 KiB
C
58 lines
1.9 KiB
C
|
|
#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
|