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

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,11 +512,17 @@ 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()));
}
}
void MainWindow::registerMoudel()
{

View File

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

View File

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

View File

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

View File

@ -923,6 +923,33 @@ QString FEKOImageSettingTaskNodeClass::getTaskName()
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; // 仿真参数设置
public:
virtual int ExcuteTask() override;
int ExcuteTask(QString imagemode);
virtual int FinishTask() override;
virtual int loadXmlFile(QString xmlFilePath); // 加载任务文件,必须重写
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(on_actionLine2FaceSIGNAL()),this,SLOT(actionLine2FaceSLOT()));
DebugInfo("WBFZExchangePlugin::WBFZExchangePlugin has init \n");
// 仿真成像
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");
}
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
void Register(GUI::MainWindow* m, QList<Plugins::PluginBase*>* ps)

View File

@ -59,6 +59,14 @@ namespace WBFZ
// 模型线转面
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();
// 室内测量成像
};
}