69 lines
2.1 KiB
C++
69 lines
2.1 KiB
C++
#ifndef DIALOGALGOARG_H
|
||
#define DIALOGALGOARG_H
|
||
|
||
#include <QWidget>
|
||
#include <QDialog>
|
||
#include <QString>
|
||
#include <QLineEdit>
|
||
#include "ConfigManager.h"
|
||
|
||
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 on_btn_loadCalibMatrix_clicked();
|
||
void onCalibCameraChanged(int index);
|
||
|
||
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);
|
||
|
||
// 网络配置(TCP协议和坐标输出)
|
||
void LoadPlcRobotServerConfigToUI(const VrPlcRobotServerConfig& config);
|
||
bool SavePlcRobotServerConfigFromUI(VrPlcRobotServerConfig& config);
|
||
void InitPoseOutputOrderComboBox();
|
||
void InitDirVectorInvertComboBox();
|
||
void InitSortModeComboBox();
|
||
|
||
// 手眼标定矩阵(多相机)
|
||
void InitCalibCameraComboBox();
|
||
void LoadCalibMatrixToUI();
|
||
void LoadCalibMatrixForCamera(int cameraIndex);
|
||
void LoadIdentityMatrixToUI(); // 加载单位矩阵到UI
|
||
void LoadCalibMatrixFromFile(const QString& filePath);
|
||
bool SaveCalibMatrixToConfig(std::vector<VrHandEyeCalibMatrix>& calibMatrixList);
|
||
bool SaveCurrentCalibMatrixToCache();
|
||
QLineEdit* GetCalibLineEdit(int row, int col);
|
||
void InitEulerOrderComboBox();
|
||
|
||
private:
|
||
Ui::DialogAlgoarg *ui;
|
||
ConfigManager* m_pConfigManager;
|
||
QString m_configFilePath;
|
||
int m_currentCalibCameraIndex = 0; // 当前选中的标定相机索引(0-based)
|
||
std::vector<VrHandEyeCalibMatrix> m_calibMatrixCache; // 标定矩阵缓存
|
||
};
|
||
|
||
#endif // DIALOGALGOARG_H
|