2026-03-11 23:40:06 +08:00
|
|
|
|
#ifndef DIALOGALGOARG_H
|
|
|
|
|
|
#define DIALOGALGOARG_H
|
|
|
|
|
|
|
|
|
|
|
|
#include <QDialog>
|
|
|
|
|
|
#include "ConfigManager.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace Ui {
|
|
|
|
|
|
class DialogAlgoarg;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-03-25 09:35:56 +08:00
|
|
|
|
class HoleDetectionPresenter;
|
|
|
|
|
|
class HandEyeCalibWidget;
|
|
|
|
|
|
class NetworkConfigWidget;
|
|
|
|
|
|
|
2026-03-11 23:40:06 +08:00
|
|
|
|
class DialogAlgoarg : public QDialog
|
|
|
|
|
|
{
|
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
2026-03-25 09:35:56 +08:00
|
|
|
|
explicit DialogAlgoarg(ConfigManager* configManager, HoleDetectionPresenter* presenter, QWidget *parent = nullptr);
|
2026-03-11 23:40:06 +08:00
|
|
|
|
~DialogAlgoarg();
|
|
|
|
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
|
|
void on_btn_camer_ok_clicked();
|
|
|
|
|
|
void on_btn_camer_cancel_clicked();
|
2026-03-25 09:35:56 +08:00
|
|
|
|
|
|
|
|
|
|
// 手眼标定共享控件信号槽
|
|
|
|
|
|
void onCalibMatrixLoaded(int cameraIndex, const double* matrix);
|
|
|
|
|
|
void onSaveCalibRequested(int cameraIndex, const double* matrix);
|
2026-03-11 23:40:06 +08:00
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
void LoadConfigToUI();
|
|
|
|
|
|
bool SaveConfigFromUI();
|
|
|
|
|
|
|
|
|
|
|
|
// 加载各个参数组到 UI
|
|
|
|
|
|
void LoadDetectionParamToUI(const VrHoleDetectionParam& param);
|
|
|
|
|
|
void LoadFilterParamToUI(const VrHoleFilterParam& param);
|
|
|
|
|
|
void LoadSortModeToUI(int sortMode);
|
|
|
|
|
|
|
|
|
|
|
|
// 从 UI 保存各个参数组
|
|
|
|
|
|
bool SaveDetectionParamFromUI(VrHoleDetectionParam& param);
|
|
|
|
|
|
bool SaveFilterParamFromUI(VrHoleFilterParam& param);
|
|
|
|
|
|
bool SaveSortModeFromUI(int& sortMode);
|
|
|
|
|
|
|
2026-03-25 09:35:56 +08:00
|
|
|
|
// 排序模式
|
2026-03-11 23:40:06 +08:00
|
|
|
|
void InitSortModeComboBox();
|
|
|
|
|
|
|
2026-03-25 09:35:56 +08:00
|
|
|
|
// 姿态输出顺序(HoleDetection 特有)
|
|
|
|
|
|
void InitPoseOutputOrderComboBox();
|
|
|
|
|
|
|
|
|
|
|
|
// 手眼标定(使用共享控件)
|
|
|
|
|
|
void InitHandEyeCalibTab();
|
|
|
|
|
|
|
|
|
|
|
|
// 网络配置(使用共享控件)
|
|
|
|
|
|
void InitNetworkConfigTab();
|
|
|
|
|
|
void LoadNetworkConfigToUI();
|
2026-03-11 23:40:06 +08:00
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
Ui::DialogAlgoarg *ui;
|
|
|
|
|
|
ConfigManager* m_pConfigManager;
|
2026-03-25 09:35:56 +08:00
|
|
|
|
HoleDetectionPresenter* m_presenter;
|
2026-03-11 23:40:06 +08:00
|
|
|
|
QString m_configFilePath;
|
2026-03-25 09:35:56 +08:00
|
|
|
|
|
|
|
|
|
|
// 手眼标定共享控件
|
|
|
|
|
|
HandEyeCalibWidget* m_handEyeCalibWidget;
|
|
|
|
|
|
|
|
|
|
|
|
// 网络配置共享控件
|
|
|
|
|
|
NetworkConfigWidget* m_networkConfigWidget;
|
2026-03-11 23:40:06 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // DIALOGALGOARG_H
|