关闭十三五卫星仿真组件

Release-dev
chenzenghui 2025-05-09 15:25:29 +08:00
parent e895d7ffb3
commit fb6b753200
7 changed files with 186 additions and 24 deletions

View File

@ -123,7 +123,7 @@ void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWi
// 大场景仿真流程 // 大场景仿真流程
#ifdef __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__ #ifdef __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__
initBaseToolSARSateSimulationWorkflow(toolbox); // initBaseToolSARSateSimulationWorkflow(toolbox);
#endif // __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__ #endif // __BASETOOLBOX__SARSATALLITESIMULATIONWORKFLOW__H__

View File

@ -115,7 +115,7 @@
<ClCompile Include="WBFZAlgComponetXmlParaseOperator.cpp" /> <ClCompile Include="WBFZAlgComponetXmlParaseOperator.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="WBFZAlgComponetXmlParaseOperator.h" /> <QtMoc Include="WBFZAlgComponetXmlParaseOperator.h" />
<QtMoc Include="QWBFZAlgComponetXmlParamsDialog.h" /> <QtMoc Include="QWBFZAlgComponetXmlParamsDialog.h" />
<QtMoc Include="KJ135WBJYAlgInterfaceToolbox.h" /> <QtMoc Include="KJ135WBJYAlgInterfaceToolbox.h" />
<ClInclude Include="KJ135WBJYAlgInterfacetoolbox_global.h" /> <ClInclude Include="KJ135WBJYAlgInterfacetoolbox_global.h" />

View File

@ -40,9 +40,6 @@
<ClInclude Include="KJ135WBJYAlgInterfacetoolbox_global.h"> <ClInclude Include="KJ135WBJYAlgInterfacetoolbox_global.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="WBFZAlgComponetXmlParaseOperator.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<QtMoc Include="KJ135WBJYAlgInterfaceToolbox.h"> <QtMoc Include="KJ135WBJYAlgInterfaceToolbox.h">
@ -54,6 +51,9 @@
<QtMoc Include="KJ135WBJYAlgWidgetComponet.h"> <QtMoc Include="KJ135WBJYAlgWidgetComponet.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</QtMoc> </QtMoc>
<QtMoc Include="WBFZAlgComponetXmlParaseOperator.h">
<Filter>Header Files</Filter>
</QtMoc>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<QtUic Include="QWBFZAlgComponetXmlParamsDialog.ui"> <QtUic Include="QWBFZAlgComponetXmlParamsDialog.ui">

View File

@ -1 +1,146 @@
#include "WBFZAlgComponetXmlParaseOperator.h" #include "WBFZAlgComponetXmlParaseOperator.h"
WBFZAlgComponetXmlParamenterItem::WBFZAlgComponetXmlParamenterItem(QDomElement* itemparameter, QObject* parent) :QObject(parent)
{
if (nullptr == itemparameter) {
qDebug() << "itemparameter is nullptr.";
return;
}
this->ParaName = itemparameter->attribute("Name");
this->ParaChsName = itemparameter->attribute("ChsName");
this->Description = itemparameter->attribute("Description");
this->Datatype = itemparameter->attribute("Datatype");
this->ParaType = itemparameter->attribute("Type");
this->ValueStr = itemparameter->text();
}
WBFZAlgComponetXmlParamenterItem::~WBFZAlgComponetXmlParamenterItem()
{
}
WBFZAlgComponetXmlParaseOperator::WBFZAlgComponetXmlParaseOperator(QObject* parent) :QObject(parent)
{
}
WBFZAlgComponetXmlParaseOperator::~WBFZAlgComponetXmlParaseOperator()
{
}
void WBFZAlgComponetXmlParaseOperator::loadXmlFile(const QString& fileName)
{
this->xmlFilePath = fileName;
this->parseXmlFile();
}
void WBFZAlgComponetXmlParaseOperator::parseXmlFile()
{
// 1. Load the XML file
QFile file(xmlFilePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
qDebug() << "Failed to open XML file.";
return;
}
// 2. Create a QDomDocument object
QDomDocument doc;
if (!doc.setContent(&file)) {
qDebug() << "Failed to parse XML file.";
file.close();
return;
}
// 3. Close the file
file.close();
// 4. Get the root element
QDomElement root = doc.documentElement();
// 5. Get the child elements of the root
QDomNodeList childNodes = root.childNodes();
// 6. get the workspace path node
QDomNodeList workspacePathNodes = root.elementsByTagName("WorkspacePath");
if (workspacePathNodes.count() > 0) {
QDomElement workspacePathElement = workspacePathNodes.at(0).toElement();
this->workSpacePath = workspacePathElement.text();
}
else {
qDebug() << "WorkspacePath not found.";
return;
}
// 7. get Root/AlgCompt/Inputs ϵÄËùÓÐParameter×Ó½Úµã
QDomNodeList parameterNodes = root.elementsByTagName("Parameter");
if (parameterNodes.count() > 0) {
for (int i = 0; i < parameterNodes.count(); ++i) {
QDomElement parameterElement = parameterNodes.at(i).toElement();
WBFZAlgComponetXmlParamenterItem* item = new WBFZAlgComponetXmlParamenterItem(&parameterElement,this);
this->ParameterList.append(item);
}
}
else {
qDebug() << "Parameter not found.";
return;
}
// 8. Display the parsed data
}
void WBFZAlgComponetXmlParaseOperator::displayParsedData()
{
}
QString WBFZAlgComponetXmlParamenterItem::getParaName() const
{
return this->ParaName;
}
void WBFZAlgComponetXmlParamenterItem::setParaName(const QString& name)
{
this->ParaName = name;
}
QString WBFZAlgComponetXmlParamenterItem::getParaChsName() const
{
return this->ParaChsName;
}
void WBFZAlgComponetXmlParamenterItem::setParaChsName(const QString& name)
{
this->ParaChsName = name;
}
QString WBFZAlgComponetXmlParamenterItem::getDescription() const
{
return QString();
}
void WBFZAlgComponetXmlParamenterItem::setDescription(const QString& description)
{
this->Description = description;
}
QString WBFZAlgComponetXmlParamenterItem::getDatatype() const
{
return this->Datatype;
}
void WBFZAlgComponetXmlParamenterItem::setDatatype(const QString& datatype)
{
this->Datatype = datatype;
}
QString WBFZAlgComponetXmlParamenterItem::getParaType() const
{
return this->ParaType;
}
void WBFZAlgComponetXmlParamenterItem::setParaType(const QString& type)
{
this->ParaType = type;
}
QString WBFZAlgComponetXmlParamenterItem::getValueStr() const
{
return this->ValueStr;
}
void WBFZAlgComponetXmlParamenterItem::setValueStr(const QString& value)
{
this->ValueStr = value;
}

View File

@ -22,29 +22,45 @@
// 算法组件参数xml项 // 算法组件参数xml项
class WBFZAlgComponetXmlParamenterItem class WBFZAlgComponetXmlParamenterItem :QObject
{ {
Q_OBJECT
public: public:
WBFZAlgComponetXmlParamenterItem(QDomElement* itemparameter); WBFZAlgComponetXmlParamenterItem(QDomElement* itemparameter,QObject* parent=nullptr);
~WBFZAlgComponetXmlParamenterItem(); ~WBFZAlgComponetXmlParamenterItem();
void setName(const QString& name);
void setValue(const QString& value);
QString getName() const;
QString getValue() const;
QString WriteXml() const;
private: private:
QString name; // 参数名称 QString ParaName; // 参数名称
QString value;// 参数值 QString ParaChsName;// 参数中文名称
QString Datatype;// 参数类型 QString Description;// 参数描述
QString ParaType;// 参数类型
QDomElement* itemparameter; QString Datatype;// 数据类型 Value // 决定参数的输入类型
QString ParaType;// 参数类型 string
QString ValueStr;
public:
// 变量操作 get、set 函数
QString getParaName() const;
void setParaName(const QString& name);
QString getParaChsName() const;
void setParaChsName(const QString& name);
QString getDescription() const;
void setDescription(const QString& description);
QString getDatatype() const;
void setDatatype(const QString& datatype);
QString getParaType() const;
void setParaType(const QString& type);
QString getValueStr() const;
void setValueStr(const QString& value);
}; };
// 算法组件xml参数解析主类 // 算法组件xml参数解析主类
class WBFZAlgComponetXmlParaseOperator class WBFZAlgComponetXmlParaseOperator :QObject
{ {
Q_OBJECT
public: public:
WBFZAlgComponetXmlParaseOperator(); WBFZAlgComponetXmlParaseOperator(QObject* parent = nullptr);
~WBFZAlgComponetXmlParaseOperator(); ~WBFZAlgComponetXmlParaseOperator();
void loadXmlFile(const QString& fileName); void loadXmlFile(const QString& fileName);
@ -54,11 +70,12 @@ private:
private: private:
QString workSpacePath; QString workSpacePath;
QString xmlFilePath;
private:// 参数文件结构 private:// 参数文件结构
QDomDocument doc; // xml文档对象
QDomElement rootElement; // 根节点
QDomElement workSpaceElement; // 工作空间节点
QList<WBFZAlgComponetXmlParamenterItem*> ParameterList; // 参数列表
}; };

View File

@ -39,7 +39,7 @@ void RegisterPreToolBox(LAMPMainWidget::RasterMainWidget* mainwindows, ToolBoxWi
#ifdef __SIMULATIONSARTOOL__SARSATALLITESIMULATIONWORKFLOW__H__ #ifdef __SIMULATIONSARTOOL__SARSATALLITESIMULATIONWORKFLOW__H__
initSimulationSARToolSARSateSimulationWorkflow(toolbox); // initSimulationSARToolSARSateSimulationWorkflow(toolbox);
#endif #endif