增加了不同成像模式的切换

LAMPCAE-dev
chenzenghui 2025-04-23 16:49:29 +08:00
parent 80a143c629
commit 15a745b8b5
8 changed files with 141 additions and 15 deletions

View File

@ -512,7 +512,13 @@ namespace GUI {
// 微波测量仿真分系统专用软件菜单调整 // 微波测量仿真分系统专用软件菜单调整
// 仿真成像
connect(_ui->actionFEKOImageSetting_StripImage,SIGNAL(triggered()), this,SIGNAL(on_actionFEKOImageSetting_StripImage_SIGNAL()));
connect(_ui->actionFEKOImageSetting_SCaneImage,SIGNAL(triggered()), this,SIGNAL(on_actionFEKOImageSetting_SCaneImage_SIGNAL()));
connect(_ui->actionFEKOImageSetting_ISARImage,SIGNAL(triggered()), this,SIGNAL(on_actionFEKOImageSetting_ISARImage_SIGNAL()));
connect(_ui->actionFEKOImageSetting_CircleImage,SIGNAL(triggered()), this,SIGNAL(on_actionFEKOImageSetting_CircleImage_SIGNAL()));
// 室内测量成像
connect(_ui->actionImportRoomMeasurementImage,SIGNAL(triggered()), this,SIGNAL(on_actionImportRoomMeasurementImage_SIGNAL()));

View File

@ -16,13 +16,13 @@ QString FEKOBase::FEKOImageModeenumToString(FEKOBase::FEKOImageMode mode)
{ {
switch(mode) { switch(mode) {
case Strip: case Strip:
return "STRIP"; return u8"条带成像模式";
case Scane: case Scane:
return "SCANE"; return u8"扫描成像模式";
case ISAR: case ISAR:
return "ISAR"; return u8"ISAR成像模式";
case CircleSAR: case CircleSAR:
return "CircleSAR"; return u8"圆迹SAR成像模式";
} }
// 如果枚举值不匹配任何字符串,则返回一个默认值,或者抛出异常 // 如果枚举值不匹配任何字符串,则返回一个默认值,或者抛出异常
return "UNKNOW"; // 默认返回Unknown return "UNKNOW"; // 默认返回Unknown
@ -53,13 +53,13 @@ QString FEKOBase::QString2FEKOCoordinateSystem(FEKOBase::FEKOCoordinateSystem mo
FEKOBase::FEKOImageMode FEKOBase::FEKOImageModeString2Enum(QString str) FEKOBase::FEKOImageMode FEKOBase::FEKOImageModeString2Enum(QString str)
{ {
if(str.toUpper() == "STRIP") { if(str.toUpper() == u8"条带成像模式") {
return FEKOBase::FEKOImageMode::Strip; return FEKOBase::FEKOImageMode::Strip;
} else if(str.toUpper() == "SCANE") { } else if(str.toUpper() == u8"扫描成像模式") {
return FEKOBase::FEKOImageMode::Scane; return FEKOBase::FEKOImageMode::Scane;
} else if(str.toUpper() == "ISAR") { } else if(str.toUpper() == u8"ISAR成像模式") {
return FEKOBase::FEKOImageMode::ISAR; return FEKOBase::FEKOImageMode::ISAR;
} else if(str.toUpper() == "CIRCLESAR") { } else if(str.toUpper() == u8"圆迹SAR成像模式") {
return FEKOBase::FEKOImageMode::CircleSAR; return FEKOBase::FEKOImageMode::CircleSAR;
} }
// 如果输入的字符串不匹配任何枚举值,则返回一个默认值,或者抛出异常 // 如果输入的字符串不匹配任何枚举值,则返回一个默认值,或者抛出异常

View File

@ -255,6 +255,13 @@ void QtSARAntModelSettingClass::ReferenceWindows()
this->generator_FEKOSatelliteParams(); this->generator_FEKOSatelliteParams();
} }
void QtSARAntModelSettingClass::setImagemodeCurrentTextIndex(int nidx){
if(nidx<this->ui->comboBox_ImageMode->count()){
this->ui->comboBox_ImageMode->setCurrentIndex(nidx);
}
}
void QtSARAntModelSettingClass::refreshFEKOSimulationParams() void QtSARAntModelSettingClass::refreshFEKOSimulationParams()
{ {
this->simulationparams->taskName = this->ui->lineEdit_TaskName->text(); this->simulationparams->taskName = this->ui->lineEdit_TaskName->text();
@ -348,13 +355,13 @@ void QtSARAntModelSettingClass::on_comboBox_ImageMode_currentIndexChanged(int in
QString::fromUtf8(u8"未知的成像模式")); QString::fromUtf8(u8"未知的成像模式"));
return; return;
} else if(this->simulationparams->imagemode == FEKOBase::FEKOImageMode::Strip) { } else if(this->simulationparams->imagemode == FEKOBase::FEKOImageMode::Strip) {
this->switchStripImageParamsWeight(); this->switchStripImageParamsWeight(); qDebug()<<"switch strip";
} else if(this->simulationparams->imagemode == FEKOBase::FEKOImageMode::Scane) { } else if(this->simulationparams->imagemode == FEKOBase::FEKOImageMode::Scane) {
this->switchScanImageParamsWeight(); this->switchScanImageParamsWeight(); qDebug()<<"switch scane";
} else if(this->simulationparams->imagemode == FEKOBase::FEKOImageMode::ISAR) { } else if(this->simulationparams->imagemode == FEKOBase::FEKOImageMode::ISAR) {
this->switchISARImageParamsWeight(); this->switchISARImageParamsWeight(); qDebug()<<"switch isar";
} else if(this->simulationparams->imagemode == FEKOBase::FEKOImageMode::CircleSAR) { } else if(this->simulationparams->imagemode == FEKOBase::FEKOImageMode::CircleSAR) {
this->switchCircleSARImageParamsWeight(); this->switchCircleSARImageParamsWeight(); qDebug()<<"switch circlesar";
} else { } else {
QMessageBox::information(nullptr, QString::fromUtf8(u8"错误"), QMessageBox::information(nullptr, QString::fromUtf8(u8"错误"),
QString::fromUtf8(u8"未知的成像模式")); QString::fromUtf8(u8"未知的成像模式"));

View File

@ -103,6 +103,8 @@ public:
void CreateInitCfxScript(FEKOBase::TRANSLATIONPOLARTYPE polartype); void CreateInitCfxScript(FEKOBase::TRANSLATIONPOLARTYPE polartype);
void setImagemodeCurrentTextIndex(int nidx);
signals: signals:

View File

@ -923,6 +923,33 @@ QString FEKOImageSettingTaskNodeClass::getTaskName()
return this->simulationparams->taskName; return this->simulationparams->taskName;
} }
int FEKOImageSettingTaskNodeClass::ExcuteTask(QString imagemode) {
this->status = TaskStatusEnum::excuting;
QString windowtitlestr=u8"";
if(imagemode.toLower().contains("strip")){
this->TaskWindows->setImagemodeCurrentTextIndex(0);
// this->TaskWindows->on_comboBox_ImageMode_currentIndexChanged(0); qDebug()<<u8"切换为 strip ";
windowtitlestr=u8"条带成像模式";
}else if(imagemode.toLower().contains("scane")){
this->TaskWindows->setImagemodeCurrentTextIndex(1);
// this->TaskWindows->on_comboBox_ImageMode_currentIndexChanged(1);qDebug()<<u8"切换为 scane ";
windowtitlestr=u8"扫描成像模式";
}else if(imagemode.toLower().contains("isar")){
this->TaskWindows->setImagemodeCurrentTextIndex(2);
// this->TaskWindows->on_comboBox_ImageMode_currentIndexChanged(2);qDebug()<<u8"切换为 isar ";
windowtitlestr=u8"ISAR成像模式";
}else if(imagemode.toLower().contains("cicle")){
this->TaskWindows->setImagemodeCurrentTextIndex(3);
// this->TaskWindows->on_comboBox_ImageMode_currentIndexChanged(3);qDebug()<<u8"切换为 cicle ";
windowtitlestr=u8"圆迹SAR成像模式";
}else{
}
this->TaskWindows->show();
this->TaskWindows->setWindowTitle(windowtitlestr);
return 0;
}

View File

@ -213,6 +213,7 @@ public:
//FEKOBase::FEKOSimulationSARClass simulationSetting; // 仿真参数设置 //FEKOBase::FEKOSimulationSARClass simulationSetting; // 仿真参数设置
public: public:
virtual int ExcuteTask() override; virtual int ExcuteTask() override;
int ExcuteTask(QString imagemode);
virtual int FinishTask() override; virtual int FinishTask() override;
virtual int loadXmlFile(QString xmlFilePath); // 加载任务文件,必须重写 virtual int loadXmlFile(QString xmlFilePath); // 加载任务文件,必须重写
virtual int saveXmlFile(); // 保存任务文件,必须重写 virtual int saveXmlFile(); // 保存任务文件,必须重写

View File

@ -67,7 +67,22 @@ namespace WBFZ {
connect(_mainwindow,SIGNAL(actionGenerateImportModelScript(int ,GUI::MainWindow* ,QStringList,QStringList ,QString )),this,SLOT(actionGenerateImportModelScript(int ,GUI::MainWindow* ,QStringList,QStringList ,QString ))); connect(_mainwindow,SIGNAL(actionGenerateImportModelScript(int ,GUI::MainWindow* ,QStringList,QStringList ,QString )),this,SLOT(actionGenerateImportModelScript(int ,GUI::MainWindow* ,QStringList,QStringList ,QString )));
connect(_mainwindow,SIGNAL(on_actionLine2FaceSIGNAL()),this,SLOT(actionLine2FaceSLOT())); connect(_mainwindow,SIGNAL(on_actionLine2FaceSIGNAL()),this,SLOT(actionLine2FaceSLOT()));
// 仿真成像
connect(_mainwindow,SIGNAL(on_actionFEKOImageSetting_StripImage_SIGNAL()), this,SLOT(on_actionFEKOImageSetting_StripImage_SIGNAL()));
connect(_mainwindow,SIGNAL(on_actionFEKOImageSetting_SCaneImage_SIGNAL()), this,SLOT(on_actionFEKOImageSetting_SCaneImage_SIGNAL()));
connect(_mainwindow,SIGNAL(on_actionFEKOImageSetting_ISARImage_SIGNAL()), this,SLOT(on_actionFEKOImageSetting_ISARImage_SIGNAL()));
connect(_mainwindow,SIGNAL(on_actionFEKOImageSetting_CircleImage_SIGNAL()), this,SLOT(on_actionFEKOImageSetting_CircleImage_SIGNAL()));
// 室内测量成像
connect(_mainwindow,SIGNAL(on_actionImportRoomMeasurementImage_SIGNAL()), this,SLOT(on_actionImportRoomMeasurementImage_SIGNAL()));
DebugInfo("WBFZExchangePlugin::WBFZExchangePlugin has init \n"); DebugInfo("WBFZExchangePlugin::WBFZExchangePlugin has init \n");
} }
bool WBFZExchangePlugin::install() bool WBFZExchangePlugin::install()
@ -224,6 +239,66 @@ namespace WBFZ {
} }
void WBFZExchangePlugin::on_actionFEKOImageSetting_StripImage_SIGNAL() {
DebugInfo(" FEKOImageSettingFun has init\n");
// 参数界面设置
FEKOImageSettingTaskNodeClass* imageNode = new FEKOImageSettingTaskNodeClass();
DebugInfo(" FEKOImageSettingFun has init imageNode\n");
QString xmlfilepath = getSaveFilePath(_mainwindow, QString::fromUtf8(u8"任务xml"), QString::fromUtf8(u8"xml文件 (*.xml)"));
imageNode->loadXmlFile(xmlfilepath);
DebugInfo(" FEKOImageSettingFun has init loadXmlFile\n");
imageNode->TaskWindows->setOCCTDocument(_mainwindow);
//this->addTaskNode(imageNode);
DebugInfo(" FEKOImageSettingFun has init ExcuteTask\n");
imageNode->ExcuteTask("strip");
}
void WBFZExchangePlugin::on_actionFEKOImageSetting_SCaneImage_SIGNAL() {
DebugInfo(" FEKOImageSettingFun has init\n");
// 参数界面设置
FEKOImageSettingTaskNodeClass* imageNode = new FEKOImageSettingTaskNodeClass();
DebugInfo(" FEKOImageSettingFun has init imageNode\n");
QString xmlfilepath = getSaveFilePath(_mainwindow, QString::fromUtf8(u8"任务xml"), QString::fromUtf8(u8"xml文件 (*.xml)"));
imageNode->loadXmlFile(xmlfilepath);
DebugInfo(" FEKOImageSettingFun has init loadXmlFile\n");
imageNode->TaskWindows->setOCCTDocument(_mainwindow);
//this->addTaskNode(imageNode);
DebugInfo(" FEKOImageSettingFun has init ExcuteTask\n");
imageNode->ExcuteTask("scane");
}
void WBFZExchangePlugin::on_actionFEKOImageSetting_ISARImage_SIGNAL() {
DebugInfo(" FEKOImageSettingFun has init\n");
// 参数界面设置
FEKOImageSettingTaskNodeClass* imageNode = new FEKOImageSettingTaskNodeClass();
DebugInfo(" FEKOImageSettingFun has init imageNode\n");
QString xmlfilepath = getSaveFilePath(_mainwindow, QString::fromUtf8(u8"任务xml"), QString::fromUtf8(u8"xml文件 (*.xml)"));
imageNode->loadXmlFile(xmlfilepath);
DebugInfo(" FEKOImageSettingFun has init loadXmlFile\n");
imageNode->TaskWindows->setOCCTDocument(_mainwindow);
//this->addTaskNode(imageNode);
DebugInfo(" FEKOImageSettingFun has init ExcuteTask\n");
imageNode->ExcuteTask("isar");
}
void WBFZExchangePlugin::on_actionFEKOImageSetting_CircleImage_SIGNAL() {
DebugInfo(" FEKOImageSettingFun has init\n");
// 参数界面设置
FEKOImageSettingTaskNodeClass* imageNode = new FEKOImageSettingTaskNodeClass();
DebugInfo(" FEKOImageSettingFun has init imageNode\n");
QString xmlfilepath = getSaveFilePath(_mainwindow, QString::fromUtf8(u8"任务xml"), QString::fromUtf8(u8"xml文件 (*.xml)"));
imageNode->loadXmlFile(xmlfilepath);
DebugInfo(" FEKOImageSettingFun has init loadXmlFile\n");
imageNode->TaskWindows->setOCCTDocument(_mainwindow);
//this->addTaskNode(imageNode);
DebugInfo(" FEKOImageSettingFun has init ExcuteTask\n");
imageNode->ExcuteTask("cicle");
}
void WBFZExchangePlugin::on_actionImportRoomMeasurementImage_SIGNAL() {
}
} // namespace WBFZ } // namespace WBFZ
void Register(GUI::MainWindow* m, QList<Plugins::PluginBase*>* ps) void Register(GUI::MainWindow* m, QList<Plugins::PluginBase*>* ps)

View File

@ -59,6 +59,14 @@ namespace WBFZ
// 模型线转面 // 模型线转面
void actionLine2FaceSLOT(); void actionLine2FaceSLOT();
// 仿真成像
void on_actionFEKOImageSetting_StripImage_SIGNAL();
void on_actionFEKOImageSetting_SCaneImage_SIGNAL();
void on_actionFEKOImageSetting_ISARImage_SIGNAL();
void on_actionFEKOImageSetting_CircleImage_SIGNAL();
void on_actionImportRoomMeasurementImage_SIGNAL();
// 室内测量成像
}; };
} }