#ifndef DIALOGALGOARG_H #define DIALOGALGOARG_H #include #include #include #include "ConfigManager.h" class HandEyeCalibWidget; namespace Ui { class DialogAlgoarg; } class DialogAlgoarg : public QDialog { Q_OBJECT public: explicit DialogAlgoarg(ConfigManager* configManager, 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(); // 加载各个参数组到 UI void LoadWorkpieceParamToUI(const VrWorkpieceParam& param); void LoadFilterParamToUI(const VrOutlierFilterParam& param); void LoadCornerParamToUI(const VrCornerParam& param); void LoadGrowParamToUI(const VrTreeGrowParam& param); // 从 UI 保存各个参数组 bool SaveWorkpieceParamFromUI(VrWorkpieceParam& param); bool SaveFilterParamFromUI(VrOutlierFilterParam& param); bool SaveCornerParamFromUI(VrCornerParam& param); bool SaveGrowParamFromUI(VrTreeGrowParam& param); // 手眼标定 tab 初始化 void InitHandEyeCalibTab(); private: Ui::DialogAlgoarg *ui; ConfigManager* m_pConfigManager; QString m_configFilePath; // 手眼标定共享控件 HandEyeCalibWidget* m_handEyeCalibWidget; // 手眼标定临时数据(按相机索引存储) VrHandEyeCalibParams m_handEyeCalibParams; }; #endif // DIALOGALGOARG_H