2026-08-04 14:23:07 +08:00
|
|
|
#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) {}
|
|
|
|
|
};
|
|
|
|
|
|
2026-08-17 14:11:44 +08:00
|
|
|
// 父类 PositionData::x/y/z/roll/pitch/yaw 是最终输出给 UI 与协议层的目标位姿。
|
2026-08-04 14:23:07 +08:00
|
|
|
struct WorkpiecePosition : public PositionData<double> {
|
|
|
|
|
int workpieceType = 0;
|
|
|
|
|
int sourceDetectionIndex = -1;
|
|
|
|
|
double value = 0.0;
|
|
|
|
|
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
|