GrabBag/Tools/CalibView/Inc/CalibResultWidget.h

88 lines
1.7 KiB
C
Raw Normal View History

2026-03-17 22:27:58 +08:00
#ifndef CALIBRESULTWIDGET_H
#define CALIBRESULTWIDGET_H
#include <QWidget>
#include <QTableWidget>
#include <QLabel>
#include <QGroupBox>
#include "HandEyeCalibTypes.h"
/**
* @brief
*
*/
class CalibResultWidget : public QWidget
{
Q_OBJECT
public:
explicit CalibResultWidget(QWidget* parent = nullptr);
~CalibResultWidget() override;
/**
* @brief
*/
void showCalibResult(const HECCalibResult& result);
/**
* @brief TCP
*/
void showTCPCalibResult(const HECTCPCalibResult& result);
/**
* @brief
*/
void clearAll();
/**
* @brief
*/
const HECCalibResult& getCurrentResult() const { return m_currentResult; }
/**
* @brief
*/
bool hasValidResult() const { return m_hasResult; }
/**
* @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_lblMaxError;
QLabel* m_lblMinError;
// 当前结果
HECCalibResult m_currentResult;
bool m_hasResult;
};
#endif // CALIBRESULTWIDGET_H