#pragma once

#include <QDialog>


namespace Ui {
	class QCreateInSARImagePlaneXYZRDialogClass;
}

class QCreateInSARImagePlaneXYZRDialog : public QDialog
{
	Q_OBJECT

public:
	QCreateInSARImagePlaneXYZRDialog(QWidget *parent = nullptr);
	~QCreateInSARImagePlaneXYZRDialog();

private:
	Ui::QCreateInSARImagePlaneXYZRDialogClass* ui;


public  slots:
	void onaccepted();
	void onrejected();

	void onpushButtonOrbitModelClicked(bool);
	void onpushButtonSataSettingClicked(bool);
	void onpushButtonDEMClicked(bool);
	void onpushButtonSloperClicked(bool);
	void onpushButtonOutDirClicked(bool);



private: // doppler 处理软件
	void LookTableSimualtionMainProcess(
		QString sateName,
		QString orbitpath, QString SatePath, QString DEMPath, QString outDirPath
	);

	void LookTableSimulationDopplerProcess(
		QString DEMPath,
		QString outLookTablePath,

		// 多项式轨道参数
		long double			OribtStartTime, // 轨道模型参考时间
		std::vector<double> PolyfitPx, // 5次项，空余填0
		std::vector<double> PolyfitPy, // 5次项，空余填0
		std::vector<double> PolyfitPz, // 5次项，空余填0
		std::vector<double> PolyfitVx, // 5次项，空余填0
		std::vector<double> PolyfitVy, // 5次项，空余填0
		std::vector<double> PolyfitVz, // 5次项，空余填0


		// 多普勒参数
		double dopplerRefrenceTime,
		std::vector<double> DopplerCentroidCoefficients,// d0 ~ d5， 空余填零

		// 其他成像参数
		double starttime, // 成像开始时间
		double endtime,   // 成像结束时间
		double nearRange, // 近斜距
		double farRange,  // 远斜距
		double PRF, // 脉冲重复采样频率
		double Fs, // 距离采样频率
		double lamda
	);

 

};
