删除了允许用户导入雷达模型的功能

pull/1/head
剑古敛锋 2024-07-23 10:38:11 +08:00
parent fea08bd5fd
commit 619c9ec065
2 changed files with 76 additions and 11 deletions

View File

@ -111,10 +111,11 @@ Geometry::GeometrySet* antModelClass::get_antModelset()
antModelClass antModelClassFactory() antModelClass antModelClassFactory()
{ {
QString filepath = getOpenFilePath( QString filepath="";
nullptr, QString::fromUtf8(u8"导入雷达模型"), // filepath = getOpenFilePath(
QString::fromUtf8(u8"STL Files (*.stl);;STL Files (*.stla);;step Files (*.stp);;step Files " // nullptr, QString::fromUtf8(u8"导入雷达模型"),
u8"(*.step);;IGES Files (*.iges);;IGES Files (*.igs)")); // QString::fromUtf8(u8"STL Files (*.stl);;STL Files (*.stla);;step Files (*.stp);;step Files "
// u8"(*.step);;IGES Files (*.iges);;IGES Files (*.igs)"));
antModelClass result(filepath); antModelClass result(filepath);
return result; return result;
} }
@ -270,10 +271,11 @@ void QtSARAntModelSettingClass::setOCCTDocument(GUI::MainWindow* m)
{ {
this->m = m; this->m = m;
QString antFilePath = getOpenFilePath( QString antFilePath ="";
nullptr, QString::fromUtf8(u8"导入雷达模型"), // antFilePath= getOpenFilePath(
QString::fromUtf8(u8"STL Files (*.stl);;STL Files (*.stla);;step Files (*.stp);;step Files " // nullptr, QString::fromUtf8(u8"导入雷达模型"),
u8"(*.step);;IGES Files (*.iges);;IGES Files (*.igs)")); // QString::fromUtf8(u8"STL Files (*.stl);;STL Files (*.stla);;step Files (*.stp);;step Files "
// u8"(*.step);;IGES Files (*.iges);;IGES Files (*.igs)"));
if(isExists(antFilePath)) { if(isExists(antFilePath)) {
this->antModel = new antModelClass(antFilePath); this->antModel = new antModelClass(antFilePath);
@ -427,7 +429,12 @@ void QtSARAntModelSettingClass::on_pushButton_OK_clicked()
this->saveFEKOImageSettingXML(); this->saveFEKOImageSettingXML();
if(this->ui->checkBox_VT->isChecked()) { if(this->ui->checkBox_VT->isChecked()) {
this->CreateInitCfxScript(FEKOBase::POLAR_VT);
QProgressDialog progressDialog(u8"构建馈源设置脚本V", u8"终止", 0, QProgressDialog progressDialog(u8"构建馈源设置脚本V", u8"终止", 0,
this->FEKOAntPoselist.size()); this->FEKOAntPoselist.size());
progressDialog.setWindowTitle("imaging..."); progressDialog.setWindowTitle("imaging...");
@ -438,6 +445,7 @@ void QtSARAntModelSettingClass::on_pushButton_OK_clicked()
progressDialog.setMinimum(0); progressDialog.setMinimum(0);
progressDialog.show(); progressDialog.show();
QStringList lualist; QStringList lualist;
for(size_t start_prf_idx = 0; start_prf_idx < this->FEKOAntPoselist.size();) { for(size_t start_prf_idx = 0; start_prf_idx < this->FEKOAntPoselist.size();) {
size_t end_prf_idx = start_prf_idx + 100; size_t end_prf_idx = start_prf_idx + 100;
@ -477,6 +485,16 @@ void QtSARAntModelSettingClass::on_pushButton_OK_clicked()
lualist.append( lualist.append(
QString(u8" cadfeko 目标与场景模型.cfx --non-interactive --run-script %1.lua") QString(u8" cadfeko 目标与场景模型.cfx --non-interactive --run-script %1.lua")
.arg(cfxName)); .arg(cfxName));
QCoreApplication::processEvents(); // 允许事件处理,以便取消按钮响应
// 检查是否点击了取消按钮
if (progressDialog.wasCanceled()) {
qDebug() << "User canceled operation.";
break; // 退出任务循环
}
} }
progressDialog.setWindowTitle(u8"馈源脚本生产成功"); progressDialog.setWindowTitle(u8"馈源脚本生产成功");
progressDialog.setValue(this->FEKOAntPoselist.size()); progressDialog.setValue(this->FEKOAntPoselist.size());
@ -510,6 +528,7 @@ void QtSARAntModelSettingClass::on_pushButton_OK_clicked()
} }
} }
if(this->ui->checkBox_HT->isChecked()){ if(this->ui->checkBox_HT->isChecked()){
this->CreateInitCfxScript(FEKOBase::POLAR_HT);
QProgressDialog progressDialog(u8"构建馈源设置脚本H", u8"终止", 0, QProgressDialog progressDialog(u8"构建馈源设置脚本H", u8"终止", 0,
this->FEKOAntPoselist.size()); this->FEKOAntPoselist.size());
progressDialog.setWindowTitle("imaging..."); progressDialog.setWindowTitle("imaging...");
@ -754,3 +773,50 @@ void QtSARAntModelSettingClass::on_polarMode_change(int state) {
qDebug()<<this->ui->checkBox_VT->isChecked(); qDebug()<<this->ui->checkBox_VT->isChecked();
qDebug()<<this->ui->checkBox_HT->isChecked(); qDebug()<<this->ui->checkBox_HT->isChecked();
} }
void QtSARAntModelSettingClass::CreateInitCfxScript(FEKOBase::TRANSLATIONPOLARTYPE polartype) {
size_t start_prf_idx=0;
size_t end_prf_idx = 1;
if(end_prf_idx > this->FEKOAntPoselist.size()) {
end_prf_idx = this->FEKOAntPoselist.size();
} else {
}
QString cfxName ="";
QString luatext="";
if(polartype==FEKOBase::TRANSLATIONPOLARTYPE::POLAR_VT) {
cfxName = QString("%1_%2_POLAR_VT_PRF_ant_init_script")
.arg(this->simulationparams->taskName)
.arg(FEKOBase::FEKOImageModeenumToString(this->simulationparams->imagemode))
.arg(QString::number(start_prf_idx))
.arg(QString::number(end_prf_idx - 1));
luatext =this->createLuaSciptString(start_prf_idx, end_prf_idx, cfxName, FEKOBase::POLAR_VT);
}else if(polartype==FEKOBase::TRANSLATIONPOLARTYPE::POLAR_HT){
cfxName = QString("%1_%2_POLAR_HT_PRF_ant_init_script")
.arg(this->simulationparams->taskName)
.arg(FEKOBase::FEKOImageModeenumToString(this->simulationparams->imagemode))
.arg(QString::number(start_prf_idx))
.arg(QString::number(end_prf_idx - 1));
luatext=this->createLuaSciptString(start_prf_idx, end_prf_idx, cfxName, FEKOBase::POLAR_HT);
}else{
return;
}
// 写入文件
QString filePath =
this->workSpace + QDir::separator() + QString(u8"%1.lua").arg(cfxName);
// 创建文件对象
QFile file(filePath);
// 打开文件以供写入,如果文件不存在将创建新文件
if(file.open(QIODevice::WriteOnly | QIODevice::Text)) {
// 创建文本流并设置编码为UTF-8
QTextStream stream(&file);
stream.setCodec("UTF-8");
stream << luatext;
// 关闭文件
file.close();
qDebug() << "File written successfully. " + filePath;
} else {
qDebug() << "Could not open file for writing.";
QMessageBox::information(nullptr, QString::fromUtf8(u8"提示"),
QString::fromUtf8(u8"文件写入失败"));
}
}

View File

@ -101,8 +101,9 @@ public:
void refreshFEKOSimulationParams(); void refreshFEKOSimulationParams();
signals: void CreateInitCfxScript(FEKOBase::TRANSLATIONPOLARTYPE polartype);
signals:
public slots: public slots:
@ -123,8 +124,6 @@ public slots:
void on_lineEdit_refRange_editingFinished(); void on_lineEdit_refRange_editingFinished();
void on_polarMode_change(int state); void on_polarMode_change(int state);
void SelectFFESourcePath(size_t thetaPoints, size_t phiPoints, QString ffePath); void SelectFFESourcePath(size_t thetaPoints, size_t phiPoints, QString ffePath);
void SelectFFESourcePathH(size_t thetaPoints, size_t phiPoints, QString ffePath); void SelectFFESourcePathH(size_t thetaPoints, size_t phiPoints, QString ffePath);
public slots: public slots: