From 9df123afedfbf359d1fb1249ccc03cb946125e62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=89=91=E5=8F=A4=E6=95=9B=E9=94=8B?= <3045316072@qq.com> Date: Tue, 23 Jul 2024 10:27:59 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E8=BF=9B=E7=A8=8B=E4=B8=AD=E6=96=AD=202.?= =?UTF-8?q?=20=E8=87=AA=E5=8A=A8=E8=AE=BE=E7=BD=AEsource=20=E4=B8=BA?= =?UTF-8?q?=E5=8D=95=E7=8B=AC=20configure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FEKOBaseToolClass.cpp | 35 +++++++++++++++++++ .../FEKOSimulationSARClass.cpp | 4 +-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/PluginWBFZExchangePlugin/FEKOBaseToolClass.cpp b/src/PluginWBFZExchangePlugin/FEKOBaseToolClass.cpp index b21aa39..a054077 100644 --- a/src/PluginWBFZExchangePlugin/FEKOBaseToolClass.cpp +++ b/src/PluginWBFZExchangePlugin/FEKOBaseToolClass.cpp @@ -1497,6 +1497,13 @@ bool FEKOBase::FBPImage_FREQ(QString& restiffpath, Eigen::MatrixXcd& echoData, } #ifdef __SHOWPROCESS progressDialog.setValue(ii); + QCoreApplication::processEvents(); // 允许事件处理,以便取消按钮响应 + + // 检查是否点击了取消按钮 + if (progressDialog.wasCanceled()) { + qDebug() << "User canceled operation."; + return false; // 退出任务循环 + } #endif } @@ -1916,6 +1923,13 @@ bool FEKOBase::FBPImage_CirCleSAR(QString& restiffpath, MatrixXcd& echoData, Mat } #ifdef __SHOWPROCESS progressDialog.setValue(ii); + QCoreApplication::processEvents(); // 允许事件处理,以便取消按钮响应 + + // 检查是否点击了取消按钮 + if (progressDialog.wasCanceled()) { + qDebug() << "User canceled operation."; + return false; // 退出任务循环 + } #endif } @@ -1959,6 +1973,13 @@ bool FEKOBase::FBPImage_CirCleSAR(QString& restiffpath, MatrixXcd& echoData, Mat } #ifdef __SHOWPROCESS progressDialog.setValue(ii); + QCoreApplication::processEvents(); // 允许事件处理,以便取消按钮响应 + + // 检查是否点击了取消按钮 + if (progressDialog.wasCanceled()) { + qDebug() << "User canceled operation."; + return false; // 退出任务循环 + } #endif } @@ -2094,6 +2115,13 @@ bool FEKOBase::FBPImage_ISARNEAR(QString& restiffpath, MatrixXcd& echoData, Matr } #ifdef __SHOWPROCESS progressDialog.setValue(ii); + QCoreApplication::processEvents(); // 允许事件处理,以便取消按钮响应 + + // 检查是否点击了取消按钮 + if (progressDialog.wasCanceled()) { + qDebug() << "User canceled operation."; + return false; // 退出任务循环 + } #endif } @@ -2140,6 +2168,13 @@ bool FEKOBase::FBPImage_ISARNEAR(QString& restiffpath, MatrixXcd& echoData, Matr } #ifdef __SHOWPROCESS progressDialog.setValue(ii); + QCoreApplication::processEvents(); // 允许事件处理,以便取消按钮响应 + + // 检查是否点击了取消按钮 + if (progressDialog.wasCanceled()) { + qDebug() << "User canceled operation."; + return false; // 退出任务循环 + } #endif } diff --git a/src/PluginWBFZExchangePlugin/FEKOSimulationSARClass.cpp b/src/PluginWBFZExchangePlugin/FEKOSimulationSARClass.cpp index a444719..4b3a700 100644 --- a/src/PluginWBFZExchangePlugin/FEKOSimulationSARClass.cpp +++ b/src/PluginWBFZExchangePlugin/FEKOSimulationSARClass.cpp @@ -292,8 +292,6 @@ void FEKOBase::FEKOSimulationSARClass::saveFEKOImageSettingXML() { } QString FEKOBase::FEKOSimulationSARClass::createLuaSciptString(size_t startprfidx, size_t endprfidx,QString cfxName,FEKOBase::TRANSLATIONPOLARTYPE polartype) { - - if (this->simulationparams->startfreq > 1e6) { this->simulationparams->startfreq = this->simulationparams->startfreq / 1e9; } // ==> GHz @@ -318,6 +316,8 @@ QString FEKOBase::FEKOSimulationSARClass::createLuaSciptString(size_t startprfid luascript = luascript + QString(u8"\n"); luascript = luascript + QString(u8"app=cf.GetApplication()\n"); luascript = luascript + QString(u8"project=app.Project --- get current project\n"); + luascript = luascript + QString(u8"solutionConfigurations = project.SolutionConfigurations \n"); + luascript = luascript + QString(u8"solutionConfigurations:SetSourcesPerConfiguration()\n"); if(polartype==FEKOBase::TRANSLATIONPOLARTYPE::POLAR_VT){ luascript = luascript + QString(u8"farFieldData = project.FieldDataList:AddFarFieldData(\"%1\",%2,%3) -- farField Gains\n").arg(this->simulationparams->AntennaRadiationFileName).arg(QString::number(this->simulationparams->farsource_thetaPoints)).arg(QString::number(this->simulationparams->farsource_phiPoints)); }else if(polartype==FEKOBase::TRANSLATIONPOLARTYPE::POLAR_HT){