#ifndef DIALOGALGOARG_H #define DIALOGALGOARG_H #include #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