68 lines
1.8 KiB
C
Raw Normal View History

#ifndef DIALOGALGOARG_H
#define DIALOGALGOARG_H
#include <QWidget>
#include <QDialog>
#include <QString>
#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 LoadWorkpieceHoleParamToUI(const VrWorkpieceHoleParam& param);
void LoadLineSegParamToUI(const VrLineSegParam& param);
void LoadFilterParamToUI(const VrOutlierFilterParam& param);
void LoadGrowParamToUI(const VrTreeGrowParam& param);
// 从 UI 保存各个参数组
bool SaveWorkpieceHoleParamFromUI(VrWorkpieceHoleParam& param);
bool SaveLineSegParamFromUI(VrLineSegParam& param);
bool SaveFilterParamFromUI(VrOutlierFilterParam& param);
bool SaveGrowParamFromUI(VrTreeGrowParam& param);
// 网络配置PLC服务端
void LoadPlcRobotServerConfigToUI(const VrPlcRobotServerConfig& config);
bool SavePlcRobotServerConfigFromUI(VrPlcRobotServerConfig& config);
void InitPoseOutputOrderComboBox();
void InitDirVectorInvertComboBox();
void InitByteOrderComboBox();
// 手眼标定
void InitHandEyeCalibTab();
void InitEulerOrderComboBox();
private:
Ui::DialogAlgoarg *ui;
ConfigManager* m_pConfigManager;
QString m_configFilePath;
// 手眼标定共享控件
HandEyeCalibWidget* m_handEyeCalibWidget;
};
#endif // DIALOGALGOARG_H