From e7849cbdeb34c0fef58f72ed3f7f5c0f62b53a50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=A2=9E=E8=BE=89?= <3045316072@qq.com> Date: Mon, 21 Apr 2025 13:26:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=86=E5=88=86=E4=BA=A7=E5=93=81=E4=BB=BF?= =?UTF-8?q?=E7=9C=9F=E7=BA=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RasterProcessToolWidget/ToolBoxWidget.cpp | 32 ++ RasterProcessToolWidget/ToolBoxWidget.h | 2 + Toolbox/BaseToolbox/BaseToolbox.cpp | 14 + Toolbox/BaseToolbox/BaseToolbox.vcxproj | 2 + .../BaseToolbox/BaseToolbox.vcxproj.filters | 6 + .../SARSatalliteSimulationWorkflow.cpp | 90 ++++++ .../SARSatalliteSimulationWorkflow.h | 64 ++++ .../SimulationSARTool/SimulationSARTool.cpp | 8 + .../SimulationSARTool.vcxproj | 2 + .../SimulationSARTool.vcxproj.filters | 6 + ...nSARToolSARSatalliteSimulationWorkflow.cpp | 273 ++++++++++++++++++ ...ionSARToolSARSatalliteSimulationWorkflow.h | 109 +++++++ 12 files changed, 608 insertions(+) create mode 100644 Toolbox/BaseToolbox/SARSatalliteSimulationWorkflow.cpp create mode 100644 Toolbox/BaseToolbox/SARSatalliteSimulationWorkflow.h create mode 100644 Toolbox/SimulationSARTool/SimulationSARToolSARSatalliteSimulationWorkflow.cpp create mode 100644 Toolbox/SimulationSARTool/SimulationSARToolSARSatalliteSimulationWorkflow.h diff --git a/RasterProcessToolWidget/ToolBoxWidget.cpp b/RasterProcessToolWidget/ToolBoxWidget.cpp index 5bb44ae..86a5234 100644 --- a/RasterProcessToolWidget/ToolBoxWidget.cpp +++ b/RasterProcessToolWidget/ToolBoxWidget.cpp @@ -25,6 +25,7 @@ ToolBoxWidget::ToolBoxWidget(LAMPMainWidget::RasterMainWidget* mainWindows, QWid ui->setupUi(this); setContextMenuPolicy(Qt::CustomContextMenu); // 设置右键快捷菜单 QObject::connect(this, SIGNAL(addBoxToolItemSIGNAL(QToolAbstract*)), this, SLOT(addBoxToolItemSLOT(QToolAbstract*))); + QObject::connect(this, SIGNAL(addBoxToolItemInPathSIGNAL(QVector , QToolAbstract* )), this, SLOT(addBoxToolItemInPathSLOT(QVector, QToolAbstract * ))); } @@ -122,6 +123,37 @@ void ToolBoxWidget::addBoxToolItemSLOT(QToolAbstract* item) } +void ToolBoxWidget::addBoxToolItemInPathSLOT(QVector xnodepath, QToolAbstract* item) +{ + QString toolName = item->getToolName(); + + QTreeWidgetItem* parentItem = findOrCreateParentItem(xnodepath); + + // 检查该父项是否已经绑定了 toolButton + if (parentItem && ui->treeWidgetToolBox->itemWidget(parentItem, 0) == nullptr) { + + toollist.append(QToolboxTreeWidgetItem(ui->treeWidgetToolBox, parentItem, item)); + + + //QTreeWidgetItem* actionItem = new QTreeWidgetItem(parentItem); + //parentItem->addChild(actionItem); + //actionItem->setText(0,toolName); + //QIcon icon(QString::fromUtf8(":/ToolBoxWidget/toolicon")); + //QPushButton* button = new QPushButton(ui->treeWidgetToolBox); + //button->setIcon(icon); + //button->setText(toolName); + //button->setLayoutDirection(Qt::LeftToRight); + //button->setStyleSheet("QPushButton { text-align: left; }"); + //ui->treeWidgetToolBox->setItemWidget(actionItem, 0, button); + //connect(button, SIGNAL(clicked()), item, SLOT(excute())); + //item->setParent(ui->treeWidgetToolBox); + //qDebug() << "ToolButton bound to parent:" << actionItem->text(0); + } + else { + qDebug() << "ToolButton already bound to parent:" << parentItem->text(0); + } +} + // 根据路径查找或创建父项 QTreeWidgetItem* ToolBoxWidget::findOrCreateParentItem( QVector& path) { QTreeWidgetItem* currentItem = nullptr; diff --git a/RasterProcessToolWidget/ToolBoxWidget.h b/RasterProcessToolWidget/ToolBoxWidget.h index 39f7c48..fc84b7b 100644 --- a/RasterProcessToolWidget/ToolBoxWidget.h +++ b/RasterProcessToolWidget/ToolBoxWidget.h @@ -49,9 +49,11 @@ private: signals: void addBoxToolItemSIGNAL(QToolAbstract* item); + void addBoxToolItemInPathSIGNAL(QVector xnodepath, QToolAbstract* item); public slots: void addBoxToolItemSLOT(QToolAbstract* item); + void addBoxToolItemInPathSLOT(QVector xnodepath, QToolAbstract* item); QTreeWidgetItem* findOrCreateParentItem( QVector& path); QTreeWidgetItem* findOrCreateTopLevelItem( QString& name); QTreeWidgetItem* findChildItemByName(QTreeWidgetItem* parentItem, QString& name); diff --git a/Toolbox/BaseToolbox/BaseToolbox.cpp b/Toolbox/BaseToolbox/BaseToolbox.cpp index 8d35a95..22ed9c8 100644 --- a/Toolbox/BaseToolbox/BaseToolbox.cpp +++ b/Toolbox/BaseToolbox/BaseToolbox.cpp @@ -15,6 +15,8 @@ #include "QtCreateGPSPointsDialog.h" #include "RasterVRT2ENVIdataDialog.h" +#include "SARSatalliteSimulationWorkflow.h" // 大场景仿真 + GF3ImportDataToolButton::GF3ImportDataToolButton(QWidget* parent) :QToolAbstract(parent) { this->toolPath = QVector(0); @@ -117,6 +119,18 @@ void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWi emit toolbox->addBoxToolItemSIGNAL(new QLookTableCorrectOffsetToolButton(toolbox)); emit toolbox->addBoxToolItemSIGNAL(new QCreateGPSPointsToolButton(toolbox)); emit toolbox->addBoxToolItemSIGNAL(new RasterVRT2ENVIdataDialogToolButton(toolbox)); + + + // 大场景仿真流程 +#ifdef __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__ + initBaseToolSARSateSimulationWorkflow(toolbox); +#endif // __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__ + + + + + + } QDEMResampleDialogToolButton::QDEMResampleDialogToolButton(QWidget* parent) diff --git a/Toolbox/BaseToolbox/BaseToolbox.vcxproj b/Toolbox/BaseToolbox/BaseToolbox.vcxproj index 7fe5c9a..1ace8fc 100644 --- a/Toolbox/BaseToolbox/BaseToolbox.vcxproj +++ b/Toolbox/BaseToolbox/BaseToolbox.vcxproj @@ -213,6 +213,8 @@ + + diff --git a/Toolbox/BaseToolbox/BaseToolbox.vcxproj.filters b/Toolbox/BaseToolbox/BaseToolbox.vcxproj.filters index 0eb5ad3..dbe0ff5 100644 --- a/Toolbox/BaseToolbox/BaseToolbox.vcxproj.filters +++ b/Toolbox/BaseToolbox/BaseToolbox.vcxproj.filters @@ -109,6 +109,9 @@ BaseToolbox + + Source Files + @@ -153,6 +156,9 @@ BaseToolbox + + Header Files + diff --git a/Toolbox/BaseToolbox/SARSatalliteSimulationWorkflow.cpp b/Toolbox/BaseToolbox/SARSatalliteSimulationWorkflow.cpp new file mode 100644 index 0000000..4abfdf5 --- /dev/null +++ b/Toolbox/BaseToolbox/SARSatalliteSimulationWorkflow.cpp @@ -0,0 +1,90 @@ +#include "SARSatalliteSimulationWorkflow.h" +#include "QtCreateGPSPointsDialog.h" +#include "QResampleRefrenceRaster.h" +#include "DEMLLA2XYZTool.h" + + +void initBaseToolSARSateSimulationWorkflow(ToolBoxWidget* toolbox) +{ + // 1. 两行根数生成轨道节点 + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程"}, new TLE2SatePositionVelocityToolButton(toolbox)); + + // 3. 对齐地类与地形影像 + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程"}, new QAligendLandClsAndDEMToolButton(toolbox)); + + + // 4. 计算地固坐标与坡面矢量影像 + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程"}, new QDEMLLA2XYZSloperVectorToolButton(toolbox)); + + + + + + +} + +TLE2SatePositionVelocityToolButton::TLE2SatePositionVelocityToolButton(QWidget* parent) +{ + this->toolname = QString(u8"1.两行根数生成轨道节点"); +} + +TLE2SatePositionVelocityToolButton::~TLE2SatePositionVelocityToolButton() +{ +} + +void TLE2SatePositionVelocityToolButton::run() +{ + QtCreateGPSPointsDialog* dialog = new QtCreateGPSPointsDialog; + dialog->setWindowTitle(u8"两行根数生成轨道节点"); + dialog->show(); +} + +QAligendLandClsAndDEMToolButton::QAligendLandClsAndDEMToolButton(QWidget* parent) +{ + this->toolname = QString(u8"3.对齐地类与地形影像"); +} + +QAligendLandClsAndDEMToolButton::~QAligendLandClsAndDEMToolButton() +{ +} + +void QAligendLandClsAndDEMToolButton::run() +{ + QResampleRefrenceRaster* dialog = new QResampleRefrenceRaster; + dialog->setWindowTitle(u8"对齐地类与地形(根据地形栅格重采样地类影像)"); + dialog->show(); +} + +QDEMLLA2XYZSloperVectorToolButton::QDEMLLA2XYZSloperVectorToolButton(QWidget* parent) +{ + this->toolname = QString(u8"4.地形生成地面目标坐标与坡面矢量"); +} + +QDEMLLA2XYZSloperVectorToolButton::~QDEMLLA2XYZSloperVectorToolButton() +{ +} + +void QDEMLLA2XYZSloperVectorToolButton::run() +{ + DEMLLA2XYZTool* dialog = new DEMLLA2XYZTool(); + dialog->setWindowTitle(u8"根据地形栅格生成地面目标坐标点与坡面矢量"); + dialog->show(); +} diff --git a/Toolbox/BaseToolbox/SARSatalliteSimulationWorkflow.h b/Toolbox/BaseToolbox/SARSatalliteSimulationWorkflow.h new file mode 100644 index 0000000..9f447b9 --- /dev/null +++ b/Toolbox/BaseToolbox/SARSatalliteSimulationWorkflow.h @@ -0,0 +1,64 @@ +#pragma once + + +#ifndef __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__ +#define __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__ + + +/** + * \file SARSatalliteSimulationWorkflow.h + * \brief 大场景仿真处理菜单处理 + * + * \author 30453 + * \date April 2025 + * + **/ +#include "basetoolbox_global.h" +#include "ToolBoxWidget.h" + + +extern "C" BASETOOLBOX_EXPORT void initBaseToolSARSateSimulationWorkflow(ToolBoxWidget* toolbox); + + + + +class BASETOOLBOX_EXPORT TLE2SatePositionVelocityToolButton : public QToolAbstract { + Q_OBJECT +public: + TLE2SatePositionVelocityToolButton(QWidget* parent = nullptr); + ~TLE2SatePositionVelocityToolButton(); +public: + virtual void run() override; + +}; + + + +class BASETOOLBOX_EXPORT QAligendLandClsAndDEMToolButton : public QToolAbstract { + Q_OBJECT +public: + QAligendLandClsAndDEMToolButton(QWidget* parent = nullptr); + ~QAligendLandClsAndDEMToolButton(); +public : + virtual void run() override; + +}; + +class BASETOOLBOX_EXPORT QDEMLLA2XYZSloperVectorToolButton : public QToolAbstract { + Q_OBJECT +public: + QDEMLLA2XYZSloperVectorToolButton(QWidget* parent = nullptr); + ~QDEMLLA2XYZSloperVectorToolButton(); +public: + virtual void run() override; + +}; + + + + + +#endif + + + diff --git a/Toolbox/SimulationSARTool/SimulationSARTool.cpp b/Toolbox/SimulationSARTool/SimulationSARTool.cpp index 438dd61..0065394 100644 --- a/Toolbox/SimulationSARTool/SimulationSARTool.cpp +++ b/Toolbox/SimulationSARTool/SimulationSARTool.cpp @@ -16,6 +16,7 @@ #include "QLonLatInterpAtiFromDEM.h" #include "QL1ASARProcessDialog.h" +#include "SimulationSARToolSARSatalliteSimulationWorkflow.h" void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWidget* toolbox) { @@ -36,6 +37,13 @@ void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWi emit toolbox->addBoxToolItemSIGNAL(new QLonLatInterpAtiFromDEMToolButton(toolbox)); emit toolbox->addBoxToolItemSIGNAL(new QL1ASARProcessDialogToolButton(toolbox)); +#ifdef __SIMULATIONSARTOOL__SARSATALLITESIMULATIONWORKFLOW__H__ + + initSimulationSARToolSARSateSimulationWorkflow(toolbox); +#endif + + + } diff --git a/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj b/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj index e4bdf9f..6c19a14 100644 --- a/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj +++ b/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj @@ -225,6 +225,7 @@ + @@ -260,6 +261,7 @@ + diff --git a/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj.filters b/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj.filters index e32b42e..20c001f 100644 --- a/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj.filters +++ b/Toolbox/SimulationSARTool/SimulationSARTool.vcxproj.filters @@ -163,6 +163,9 @@ SARImage + + Source Files + @@ -278,6 +281,9 @@ SARImage + + Header Files + diff --git a/Toolbox/SimulationSARTool/SimulationSARToolSARSatalliteSimulationWorkflow.cpp b/Toolbox/SimulationSARTool/SimulationSARToolSARSatalliteSimulationWorkflow.cpp new file mode 100644 index 0000000..46cab17 --- /dev/null +++ b/Toolbox/SimulationSARTool/SimulationSARToolSARSatalliteSimulationWorkflow.cpp @@ -0,0 +1,273 @@ +#include "SimulationSARToolSARSatalliteSimulationWorkflow.h" +#include "QSimulationSARPolynomialOrbitModel.h" +#include "QtSimulationGeoSARSigma0Dialog.h" +#include +#include +#include +#include +#include +#include +#include + +SIMULATIONSARTOOL_EXPORT void initSimulationSARToolSARSateSimulationWorkflow(ToolBoxWidget* toolbox) +{ + // 2. 轨道节点模型拟合 + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程"}, new QPolyfitSatelliteGPSModelToolButton(toolbox)); + + + // 5. 基于DEM和分类信息的SAR图像模拟 + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程",u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorGeoSimulationRsaterToolButton(toolbox)); + + + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + + + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程", u8"基于DEM和分类信息的SAR图像模拟"}, new QSimulationSlrSARRasterToolButton(toolbox)); + + + + + //6. 基于回波仿真成像 + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程", u8"基于回波仿真成像"}, new QEchoDataSimulationSARRFPCToolButton(toolbox)); + + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程", u8"1~3级回波仿真"}, new QInSARImageNetGeneratorToolButton(toolbox)); + + + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程", u8"1~3级回波仿真"}, new QGeneratorMapGeoAndSltLookTableToolButton(toolbox)); + + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程", u8"1~3级回波仿真"}, new QMapLooktableToolButton(toolbox)); + + + + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageMultiProductionLevel1_2ToolButton(toolbox)); + + + + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3B仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"GF3C仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1A仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT1B仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2E仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"HJ2F仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox)); + emit toolbox->addBoxToolItemInPathSIGNAL(QVector{u8"大场景仿真流程", u8"LT04仿真流程", u8"1~3级回波仿真"}, new QSimulationBPImageL1BToolButton(toolbox)); + + + + + + + + + + + + + + + + + + + + + return ; +} + +QPolyfitSatelliteGPSModelToolButton::QPolyfitSatelliteGPSModelToolButton(QWidget* parent) +{ + this->toolname = QString(u8"2.根据轨道节点拟合轨道模型"); +} + +QPolyfitSatelliteGPSModelToolButton::~QPolyfitSatelliteGPSModelToolButton() +{ +} + +void QPolyfitSatelliteGPSModelToolButton::run() +{ + QSimulationPolynomialSAROrbitModel* dialog = new QSimulationPolynomialSAROrbitModel; + dialog->setWindowTitle(u8"根据轨道节点拟合轨道模型"); + dialog->show(); +} + +QGeneratorGeoSimulationRsaterToolButton::QGeneratorGeoSimulationRsaterToolButton(QWidget* parent) +{ + this->toolname = QString(u8"1.生成地距模拟影像"); +} + +QGeneratorGeoSimulationRsaterToolButton::~QGeneratorGeoSimulationRsaterToolButton() +{ +} + +void QGeneratorGeoSimulationRsaterToolButton::run() +{ + QtSimulationGeoSARSigma0Dialog* dialog = new QtSimulationGeoSARSigma0Dialog; + dialog->setWindowTitle(u8"生成地距模拟影像"); + dialog->show(); +} + +QGeneratorMapGeoAndSltLookTableToolButton::QGeneratorMapGeoAndSltLookTableToolButton(QWidget* parent) +{ + this->toolname = QString(u8"2.计算坐标映射表"); +} + +QGeneratorMapGeoAndSltLookTableToolButton::~QGeneratorMapGeoAndSltLookTableToolButton() +{ +} + +void QGeneratorMapGeoAndSltLookTableToolButton::run() +{ + QSimulationLookTableDialog* dialog = new QSimulationLookTableDialog; + dialog->setWindowTitle(u8"创建地距-斜距映射表"); + dialog->show(); +} + +QSimulationSlrSARRasterToolButton::QSimulationSlrSARRasterToolButton(QWidget* parent) +{ + this->toolname = QString(u8"3.生成斜距模拟影像"); +} + +QSimulationSlrSARRasterToolButton::~QSimulationSlrSARRasterToolButton() +{ +} + +void QSimulationSlrSARRasterToolButton::run() +{ + QCreateSARIntensityByLookTableDialog* dialog = new QCreateSARIntensityByLookTableDialog; + dialog->setWindowTitle(u8"生成斜距模拟影像"); + dialog->show(); +} + +QEchoDataSimulationSARRFPCToolButton::QEchoDataSimulationSARRFPCToolButton(QWidget* parent) +{ + this->toolname = QString(u8"1.距离频域脉冲相干法"); +} + +QEchoDataSimulationSARRFPCToolButton::~QEchoDataSimulationSARRFPCToolButton() +{ +} + +void QEchoDataSimulationSARRFPCToolButton::run() +{ + QImageSARRFPC* dialog = new QImageSARRFPC(); + dialog->setWindowTitle(u8"生成回波-距离频域脉冲相干法"); + dialog->show(); +} + +QInSARImageNetGeneratorToolButton::QInSARImageNetGeneratorToolButton(QWidget* parent) +{ + this->toolname = QString(u8"1.成像网格生成"); +} + +QInSARImageNetGeneratorToolButton::~QInSARImageNetGeneratorToolButton() +{ +} + +void QInSARImageNetGeneratorToolButton::run() +{ + QCreateInSARImagePlaneXYZRDialog* dialog = new QCreateInSARImagePlaneXYZRDialog; + dialog->setWindowTitle(u8"成像平面网格划分"); + dialog->show(); +} + +QMapLooktableToolButton::QMapLooktableToolButton(QWidget* parent) +{ + this->toolname = QString(u8"3.创建地理编码查找表"); +} + +QMapLooktableToolButton::~QMapLooktableToolButton() +{ +} + +void QMapLooktableToolButton::run() +{ + QLookTableResampleFromWGS84ToRange* dialog = new QLookTableResampleFromWGS84ToRange; + dialog->setWindowTitle(u8"创建地理编码双向查找表"); + dialog->show(); +} + +QSimulationBPImageMultiProductionLevel1_2ToolButton::QSimulationBPImageMultiProductionLevel1_2ToolButton(QWidget* parent) +{ + this->toolname = QString(u8"4. 生成1~2级产品"); +} + +QSimulationBPImageMultiProductionLevel1_2ToolButton::~QSimulationBPImageMultiProductionLevel1_2ToolButton() +{ +} + +void QSimulationBPImageMultiProductionLevel1_2ToolButton::run() +{ + QSimulationBPImageMultiProduction* dialog = new QSimulationBPImageMultiProduction; + dialog->setWindowTitle(u8"生成1~2级产品"); + dialog->show(); +} + +QSimulationBPImageL1BToolButton::QSimulationBPImageL1BToolButton(QWidget* parent) +{ + this->toolname = QString(u8"4. 生成L1B级产品"); + +} + +QSimulationBPImageL1BToolButton::~QSimulationBPImageL1BToolButton() +{ +} + +void QSimulationBPImageL1BToolButton::run() +{ + QL1ASARProcessDialog* dialog = new QL1ASARProcessDialog; + dialog->setWindowTitle(u8"生成L1B级产品"); + dialog->show(); +} diff --git a/Toolbox/SimulationSARTool/SimulationSARToolSARSatalliteSimulationWorkflow.h b/Toolbox/SimulationSARTool/SimulationSARToolSARSatalliteSimulationWorkflow.h new file mode 100644 index 0000000..c5893d9 --- /dev/null +++ b/Toolbox/SimulationSARTool/SimulationSARToolSARSatalliteSimulationWorkflow.h @@ -0,0 +1,109 @@ +#pragma once +#ifndef __SIMULATIONSARTOOL__SARSATALLITESIMULATIONWORKFLOW__H__ +#define __SIMULATIONSARTOOL__SARSATALLITESIMULATIONWORKFLOW__H__ +#include "simulationsartool_global.h" +#include +#include "ToolBoxWidget.h" +#include "QToolAbstract.h" + + +extern "C" SIMULATIONSARTOOL_EXPORT void initSimulationSARToolSARSateSimulationWorkflow(ToolBoxWidget* toolbox); + + + +class SIMULATIONSARTOOL_EXPORT QPolyfitSatelliteGPSModelToolButton : public QToolAbstract { + Q_OBJECT +public: + QPolyfitSatelliteGPSModelToolButton(QWidget* parent = nullptr); + ~QPolyfitSatelliteGPSModelToolButton(); +public: + virtual void run() override; + +}; + +class SIMULATIONSARTOOL_EXPORT QGeneratorGeoSimulationRsaterToolButton : public QToolAbstract { + Q_OBJECT +public: + QGeneratorGeoSimulationRsaterToolButton(QWidget* parent = nullptr); + ~QGeneratorGeoSimulationRsaterToolButton(); +public: + virtual void run() override; + +}; + +class SIMULATIONSARTOOL_EXPORT QGeneratorMapGeoAndSltLookTableToolButton : public QToolAbstract { + Q_OBJECT +public: + QGeneratorMapGeoAndSltLookTableToolButton(QWidget* parent = nullptr); + ~QGeneratorMapGeoAndSltLookTableToolButton(); +public: + virtual void run() override; + +}; + +class SIMULATIONSARTOOL_EXPORT QSimulationSlrSARRasterToolButton : public QToolAbstract { + Q_OBJECT +public: + QSimulationSlrSARRasterToolButton(QWidget* parent = nullptr); + ~QSimulationSlrSARRasterToolButton(); +public: + virtual void run() override; + +}; + + + + +class SIMULATIONSARTOOL_EXPORT QEchoDataSimulationSARRFPCToolButton : public QToolAbstract { + Q_OBJECT +public: + QEchoDataSimulationSARRFPCToolButton(QWidget* parent = nullptr); + ~QEchoDataSimulationSARRFPCToolButton(); +public: + virtual void run() override; + +}; + + +class SIMULATIONSARTOOL_EXPORT QInSARImageNetGeneratorToolButton : public QToolAbstract { + Q_OBJECT +public: + QInSARImageNetGeneratorToolButton(QWidget* parent = nullptr); + ~QInSARImageNetGeneratorToolButton(); +public: + virtual void run() override; + +}; + +class SIMULATIONSARTOOL_EXPORT QMapLooktableToolButton : public QToolAbstract { + Q_OBJECT +public: + QMapLooktableToolButton(QWidget* parent = nullptr); + ~QMapLooktableToolButton(); +public: + virtual void run() override; + +}; + +class SIMULATIONSARTOOL_EXPORT QSimulationBPImageMultiProductionLevel1_2ToolButton : public QToolAbstract { + Q_OBJECT +public: + QSimulationBPImageMultiProductionLevel1_2ToolButton(QWidget* parent = nullptr); + ~QSimulationBPImageMultiProductionLevel1_2ToolButton(); +public: + virtual void run() override; + +}; + +class SIMULATIONSARTOOL_EXPORT QSimulationBPImageL1BToolButton : public QToolAbstract { + Q_OBJECT +public: + QSimulationBPImageL1BToolButton(QWidget* parent = nullptr); + ~QSimulationBPImageL1BToolButton(); +public: + virtual void run() override; + +}; + + +#endif