GrabBag/Tools/CalibView/Inc/CalibResultWidget.h

90 lines
1.8 KiB
C
Raw Normal View History

#ifndef CALIBRESULTWIDGET_H
#define CALIBRESULTWIDGET_H
#include <QWidget>
#include <QTableWidget>
#include <QLabel>
#include <QGroupBox>
#include "HandEyeCalibTypes.h"
/**
* @brief
2026-02-18 15:11:41 +08:00
*
*/
class CalibResultWidget : public QWidget
{
Q_OBJECT
public:
explicit CalibResultWidget(QWidget* parent = nullptr);
~CalibResultWidget() override;
/**
* @brief
*/
void showCalibResult(const HECCalibResult& result);
/**
2026-02-18 15:11:41 +08:00
* @brief TCP
*/
2026-02-18 15:11:41 +08:00
void showTCPCalibResult(const HECTCPCalibResult& result);
/**
* @brief
*/
void clearAll();
/**
* @brief
*/
const HECCalibResult& getCurrentResult() const { return m_currentResult; }
/**
* @brief
*/
bool hasValidResult() const { return m_hasResult; }
2026-02-18 15:11:41 +08:00
/**
* @brief
*/
void updateRotationDisplay(const HECRotationMatrix& R);
private:
/**
* @brief
*/
void setupUI();
/**
* @brief
*/
QGroupBox* createRotationGroup();
/**
* @brief
*/
QGroupBox* createErrorGroup();
/**
* @brief
*/
void updateTranslationDisplay(const HECTranslationVector& T);
// 旋转矩阵表格
QTableWidget* m_tableRotation;
// 误差标签
QLabel* m_lblError;
// 质心标签
QLabel* m_lblCenterEye;
QLabel* m_lblCenterRobot;
// 当前结果
HECCalibResult m_currentResult;
bool m_hasResult;
};
#endif // CALIBRESULTWIDGET_H