2026-04-02 22:17:20 +08:00

61 lines
1.6 KiB
C++

#ifndef DIALOGALGOARG_H
#define DIALOGALGOARG_H
#include <QDialog>
#include "ConfigManager.h"
namespace Ui {
class DialogAlgoarg;
}
class HoleDetectionPresenter;
class HandEyeCalibWidget;
class NetworkConfigWidget;
class DialogAlgoarg : public QDialog
{
Q_OBJECT
public:
explicit DialogAlgoarg(ConfigManager* configManager, HoleDetectionPresenter* presenter, QWidget *parent = nullptr);
~DialogAlgoarg();
private slots:
void on_btn_camer_ok_clicked();
void on_btn_camer_cancel_clicked();
void onCalibMatrixLoaded(int cameraIndex, const double* matrix);
void onSaveCalibRequested(int cameraIndex, const double* matrix);
private:
void LoadConfigToUI();
bool SaveConfigFromUI();
void LoadRansacParamToUI(const VrRansacPlaneSegmentationParam& param);
void LoadDetectionParamToUI(const VrHoleDetectionParam& param);
void LoadFilterParamToUI(const VrHoleFilterParam& param);
void LoadSortModeToUI(int sortMode);
bool SaveRansacParamFromUI(VrRansacPlaneSegmentationParam& param);
bool SaveDetectionParamFromUI(VrHoleDetectionParam& param);
bool SaveFilterParamFromUI(VrHoleFilterParam& param);
bool SaveSortModeFromUI(int& sortMode);
void InitSortModeComboBox();
void InitPoseOutputOrderComboBox();
void InitHandEyeCalibTab();
void InitNetworkConfigTab();
void LoadNetworkConfigToUI();
private:
Ui::DialogAlgoarg *ui;
ConfigManager* m_pConfigManager;
HoleDetectionPresenter* m_presenter;
QString m_configFilePath;
HandEyeCalibWidget* m_handEyeCalibWidget;
NetworkConfigWidget* m_networkConfigWidget;
};
#endif // DIALOGALGOARG_H