|
|
|
@ -1,305 +1,293 @@
|
|
|
|
|
#include "CFDTreeWidget.h"
|
|
|
|
|
|
|
|
|
|
#include "GUIFrame/MainTreeWidget.h"
|
|
|
|
|
#include "GUIFrame/MainWindow.h"
|
|
|
|
|
#include "GUIFrame/PropertyWidget.h"
|
|
|
|
|
#include "GUIFrame/MainTreeWidget.h"
|
|
|
|
|
#include "OperatorsInterface/GraphEventOperator.h"
|
|
|
|
|
#include "OperatorsInterface/TreeEventOperator.h"
|
|
|
|
|
|
|
|
|
|
#include "FITK_Kernel/FITKAppFramework/FITKAppFramework.h"
|
|
|
|
|
#include "FITK_Kernel/FITKAppFramework/FITKGlobalData.h"
|
|
|
|
|
#include "FITK_Kernel/FITKCore/FITKOperatorRepo.h"
|
|
|
|
|
#include "FITK_Kernel/FITKCore/FITKActionOperator.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceFlowOF/FITKOFGeometryData.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceFlowOF/FITKOFEnum.hpp"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceFlowOF/FITKAbstractOFSolver.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceFlowOF/FITKOFPhysicsData.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceFlowOF/FITKOFBoundary.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceFlowOF/FITKOFEnum.hpp"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceFlowOF/FITKOFGeometryData.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceFlowOF/FITKOFPhysicsData.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceGeometry/FITKAbsGeoCommand.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceModel/FITKAbstractGeoModel.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceMeshGen/FITKMeshGenInterface.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceMesh/FITKUnstructuredFluidMeshVTK.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceMeshGen/FITKAbstractGeometryMeshSizeGenerator.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceMeshGen/FITKGeometryMeshSize.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceMesh/FITKUnstructuredFluidMeshVTK.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceMeshGen/FITKMeshGenInterface.h"
|
|
|
|
|
#include "FITK_Interface/FITKInterfaceModel/FITKAbstractGeoModel.h"
|
|
|
|
|
#include "FITK_Kernel/FITKAppFramework/FITKAppFramework.h"
|
|
|
|
|
#include "FITK_Kernel/FITKAppFramework/FITKGlobalData.h"
|
|
|
|
|
#include "FITK_Kernel/FITKCore/FITKActionOperator.h"
|
|
|
|
|
#include "FITK_Kernel/FITKCore/FITKOperatorRepo.h"
|
|
|
|
|
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
#include <FITK_Kernel/FITKCore/FITKActionOperator.h>
|
|
|
|
|
#include <FITK_Kernel/FITKCore/FITKOperatorRepo.h>
|
|
|
|
|
#include <GUIFrame/PropertyWidget.h>
|
|
|
|
|
#include <QLabel>
|
|
|
|
|
#include <QVBoxLayout>
|
|
|
|
|
#include <FITK_Kernel/FITKCore/FITKOperatorRepo.h>
|
|
|
|
|
#include <FITK_Kernel/FITKCore/FITKActionOperator.h>
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
|
|
#include "CFDStructDataManager/CFDStructSigsCenter.h"
|
|
|
|
|
#include "CFDStructDataManager/CFDStructDataManager.h"
|
|
|
|
|
#include "CFDStructDataManager/CFDStructSigsCenter.h"
|
|
|
|
|
|
|
|
|
|
namespace GUI
|
|
|
|
|
{
|
|
|
|
|
namespace GUI {
|
|
|
|
|
|
|
|
|
|
CFDTreeWidget::CFDTreeWidget(QWidget *parent, PropertyWidget *m_PropertyWidget) : TreeWidget(parent)
|
|
|
|
|
{
|
|
|
|
|
this->m_PropertyWidget = m_PropertyWidget;
|
|
|
|
|
// 右键 不可少否则右键无反应
|
|
|
|
|
setContextMenuPolicy(Qt::CustomContextMenu);
|
|
|
|
|
disconnect(this, SIGNAL(itemClicked(QTreeWidgetItem *, int)), nullptr, nullptr);
|
|
|
|
|
connect(this, SIGNAL(itemClicked(QTreeWidgetItem *, int)), this, SLOT(onItemClicked(QTreeWidgetItem *, int)));
|
|
|
|
|
connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onModelCustomContextMenu(QPoint)));
|
|
|
|
|
}
|
|
|
|
|
CFDTreeWidget::CFDTreeWidget(QWidget *parent, PropertyWidget *m_PropertyWidget) : TreeWidget(parent) {
|
|
|
|
|
this->m_PropertyWidget = m_PropertyWidget;
|
|
|
|
|
// 右键 不可少否则右键无反应
|
|
|
|
|
setContextMenuPolicy(Qt::CustomContextMenu);
|
|
|
|
|
disconnect(this, SIGNAL(itemClicked(QTreeWidgetItem *, int)), nullptr, nullptr);
|
|
|
|
|
connect(this, SIGNAL(itemClicked(QTreeWidgetItem *, int)), this, SLOT(onItemClicked(QTreeWidgetItem *, int)));
|
|
|
|
|
connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onModelCustomContextMenu(QPoint)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CFDTreeWidget::updateTree(QString s)
|
|
|
|
|
{
|
|
|
|
|
this->clear();
|
|
|
|
|
if (s == "SolutionAnalysis") {
|
|
|
|
|
addTreeSolutionAnalysis();
|
|
|
|
|
} else if (s == "Postprocessing") {
|
|
|
|
|
addTreePostprocessing();
|
|
|
|
|
} else if (s == "Preprocessing") {
|
|
|
|
|
addTreePreprocessing();
|
|
|
|
|
}
|
|
|
|
|
setItemsExpandable(true);
|
|
|
|
|
expandAll();
|
|
|
|
|
void CFDTreeWidget::updateTree(QString s) {
|
|
|
|
|
this->clear();
|
|
|
|
|
if (s == "SolutionAnalysis") {
|
|
|
|
|
addTreeSolutionAnalysis();
|
|
|
|
|
} else if (s == "Postprocessing") {
|
|
|
|
|
addTreePostprocessing();
|
|
|
|
|
} else if (s == "Preprocessing") {
|
|
|
|
|
addTreePreprocessing();
|
|
|
|
|
}
|
|
|
|
|
setItemsExpandable(true);
|
|
|
|
|
expandAll();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CFDTreeWidget::addTreePreprocessing()
|
|
|
|
|
{
|
|
|
|
|
QTreeWidgetItem *GeometryAndMeshingItem = new QTreeWidgetItem();
|
|
|
|
|
GeometryAndMeshingItem->setText(0, tr("Preprocessing"));
|
|
|
|
|
GeometryAndMeshingItem->setData(1, 0, -1);
|
|
|
|
|
// GeometryAndMeshingItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_GeometryandMeshing));
|
|
|
|
|
this->addTopLevelItem(GeometryAndMeshingItem);
|
|
|
|
|
}
|
|
|
|
|
void CFDTreeWidget::addTreePreprocessing() {
|
|
|
|
|
QTreeWidgetItem *GeometryAndMeshingItem = new QTreeWidgetItem();
|
|
|
|
|
GeometryAndMeshingItem->setText(0, tr("Preprocessing"));
|
|
|
|
|
GeometryAndMeshingItem->setData(1, 0, -1);
|
|
|
|
|
// GeometryAndMeshingItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_GeometryandMeshing));
|
|
|
|
|
this->addTopLevelItem(GeometryAndMeshingItem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CFDTreeWidget::addTreeSolutionAnalysis()
|
|
|
|
|
{
|
|
|
|
|
QTreeWidgetItem *GeometryAndMeshingItem = new QTreeWidgetItem();
|
|
|
|
|
GeometryAndMeshingItem->setText(0, tr("Geometry and Meshing"));
|
|
|
|
|
GeometryAndMeshingItem->setData(1, 0, -1);
|
|
|
|
|
GeometryAndMeshingItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_GeometryandMeshing));
|
|
|
|
|
this->addTopLevelItem(GeometryAndMeshingItem);
|
|
|
|
|
QTreeWidgetItem *mesh = new QTreeWidgetItem();
|
|
|
|
|
mesh->setText(0, tr("Mesh001"));
|
|
|
|
|
mesh->setData(1, 0, -1);
|
|
|
|
|
// mesh->setdata(2,0,QVariant::fromValue(SolutionAnalysisTreeEnum::))
|
|
|
|
|
GeometryAndMeshingItem->addChild(mesh);
|
|
|
|
|
QTreeWidgetItem *ComputationalSetupItem = new QTreeWidgetItem();
|
|
|
|
|
ComputationalSetupItem->setText(0, tr("Computational Setup"));
|
|
|
|
|
ComputationalSetupItem->setData(1, 0, -1);
|
|
|
|
|
ComputationalSetupItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetup));
|
|
|
|
|
this->addTopLevelItem(ComputationalSetupItem);
|
|
|
|
|
QTreeWidgetItem *TimeModeItem = new QTreeWidgetItem();
|
|
|
|
|
TimeModeItem->setText(0, tr("Time Mode"));
|
|
|
|
|
TimeModeItem->setData(1, 0, -1);
|
|
|
|
|
TimeModeItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupTimeMode));
|
|
|
|
|
ComputationalSetupItem->addChild(TimeModeItem);
|
|
|
|
|
QTreeWidgetItem *ComputationalDomainItem = new QTreeWidgetItem();
|
|
|
|
|
ComputationalDomainItem->setText(0, tr("Computational Domain"));
|
|
|
|
|
ComputationalDomainItem->setData(1, 0, -1);
|
|
|
|
|
ComputationalDomainItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomain));
|
|
|
|
|
ComputationalSetupItem->addChild(ComputationalDomainItem);
|
|
|
|
|
QTreeWidgetItem *SolverItem = new QTreeWidgetItem();
|
|
|
|
|
SolverItem->setText(0, tr("Solver"));
|
|
|
|
|
SolverItem->setData(1, 0, -1);
|
|
|
|
|
SolverItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolver));
|
|
|
|
|
ComputationalDomainItem->addChild(SolverItem);
|
|
|
|
|
QTreeWidgetItem *BasicModelItem = new QTreeWidgetItem();
|
|
|
|
|
BasicModelItem->setText(0, tr("Basic Model"));
|
|
|
|
|
BasicModelItem->setData(1, 0, -1);
|
|
|
|
|
BasicModelItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverBasicModel));
|
|
|
|
|
SolverItem->addChild(BasicModelItem);
|
|
|
|
|
QTreeWidgetItem *ViscosityModelItem = new QTreeWidgetItem();
|
|
|
|
|
ViscosityModelItem->setText(0, tr("Viscosity Model"));
|
|
|
|
|
ViscosityModelItem->setData(1, 0, -1);
|
|
|
|
|
ViscosityModelItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverViscosityModel));
|
|
|
|
|
SolverItem->addChild(ViscosityModelItem);
|
|
|
|
|
QTreeWidgetItem *NumericalMethodsItem = new QTreeWidgetItem();
|
|
|
|
|
NumericalMethodsItem->setText(0, tr("Numerical Methods"));
|
|
|
|
|
NumericalMethodsItem->setData(1, 0, -1);
|
|
|
|
|
NumericalMethodsItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverNumericalMethods));
|
|
|
|
|
SolverItem->addChild(NumericalMethodsItem);
|
|
|
|
|
QTreeWidgetItem *MotionPropertiesItem = new QTreeWidgetItem();
|
|
|
|
|
//---------------------------------------------------------------------------------------------
|
|
|
|
|
MotionPropertiesItem->setText(0, tr("Motion Properties"));
|
|
|
|
|
MotionPropertiesItem->setData(1, 0, -1);
|
|
|
|
|
MotionPropertiesItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMotionProperties));
|
|
|
|
|
ComputationalDomainItem->addChild(MotionPropertiesItem);
|
|
|
|
|
QTreeWidgetItem *motion1Item = new QTreeWidgetItem();
|
|
|
|
|
motion1Item->setText(0, tr("motion-1"));
|
|
|
|
|
motion1Item->setData(1, 0, -1);
|
|
|
|
|
MotionPropertiesItem->addChild(motion1Item);
|
|
|
|
|
QTreeWidgetItem *BoundaryConditionsItem = new QTreeWidgetItem();
|
|
|
|
|
BoundaryConditionsItem->setText(0, tr("Boundary Conditions"));
|
|
|
|
|
BoundaryConditionsItem->setData(1, 0, -1);
|
|
|
|
|
BoundaryConditionsItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverBoundaryConditions));
|
|
|
|
|
ComputationalDomainItem->addChild(BoundaryConditionsItem);
|
|
|
|
|
QTreeWidgetItem *pressureinletItem = new QTreeWidgetItem();
|
|
|
|
|
pressureinletItem->setText(0, tr("Pressure-Inlet"));
|
|
|
|
|
pressureinletItem->setData(1, 0, -1);
|
|
|
|
|
pressureinletItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverBoundaryConditionsPressureInlet));
|
|
|
|
|
BoundaryConditionsItem->addChild(pressureinletItem);
|
|
|
|
|
QTreeWidgetItem *InitializationItem = new QTreeWidgetItem();
|
|
|
|
|
InitializationItem->setText(0, tr("Initialization"));
|
|
|
|
|
InitializationItem->setData(1, 0, -1);
|
|
|
|
|
InitializationItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverInitialization));
|
|
|
|
|
ComputationalDomainItem->addChild(InitializationItem);
|
|
|
|
|
QTreeWidgetItem *ReferenceQuantityItem = new QTreeWidgetItem();
|
|
|
|
|
ReferenceQuantityItem->setText(0, tr("Dimensionless"));
|
|
|
|
|
ReferenceQuantityItem->setData(1, 0, -1);
|
|
|
|
|
ReferenceQuantityItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverComputationalControlReferenceQuantity));
|
|
|
|
|
InitializationItem->addChild(ReferenceQuantityItem);
|
|
|
|
|
QTreeWidgetItem *ComputationalControlItem = new QTreeWidgetItem();
|
|
|
|
|
ComputationalControlItem->setText(0, tr("Computational Control"));
|
|
|
|
|
ComputationalControlItem->setData(1, 0, -1);
|
|
|
|
|
ComputationalControlItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverComputationalControl));
|
|
|
|
|
ComputationalDomainItem->addChild(ComputationalControlItem);
|
|
|
|
|
QTreeWidgetItem *MonitorsItem = new QTreeWidgetItem();
|
|
|
|
|
MonitorsItem->setText(0, tr("Monitors"));
|
|
|
|
|
MonitorsItem->setData(1, 0, -1);
|
|
|
|
|
MonitorsItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitors));
|
|
|
|
|
ComputationalDomainItem->addChild(MonitorsItem);
|
|
|
|
|
QTreeWidgetItem *ResidualItem = new QTreeWidgetItem();
|
|
|
|
|
ResidualItem->setText(0, tr("Residual"));
|
|
|
|
|
ResidualItem->setData(1, 0, -1);
|
|
|
|
|
ResidualItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsResidual));
|
|
|
|
|
MonitorsItem->addChild(ResidualItem);
|
|
|
|
|
QTreeWidgetItem *AerodynamicForceItem = new QTreeWidgetItem();
|
|
|
|
|
AerodynamicForceItem->setText(0, tr("Aerodynamic Force"));
|
|
|
|
|
AerodynamicForceItem->setData(1, 0, -1);
|
|
|
|
|
AerodynamicForceItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsAerodynamicForce));
|
|
|
|
|
MonitorsItem->addChild(AerodynamicForceItem);
|
|
|
|
|
QTreeWidgetItem *TurbomachineryPerformanceItem = new QTreeWidgetItem();
|
|
|
|
|
TurbomachineryPerformanceItem->setText(0, tr("Turbomachinery Performance"));
|
|
|
|
|
TurbomachineryPerformanceItem->setData(1, 0, -1);
|
|
|
|
|
TurbomachineryPerformanceItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsTurbomachineryPerformance));
|
|
|
|
|
MonitorsItem->addChild(TurbomachineryPerformanceItem);
|
|
|
|
|
void CFDTreeWidget::addTreeSolutionAnalysis() {
|
|
|
|
|
QTreeWidgetItem *GeometryAndMeshingItem = new QTreeWidgetItem();
|
|
|
|
|
GeometryAndMeshingItem->setText(0, tr("Geometry and Meshing"));
|
|
|
|
|
GeometryAndMeshingItem->setData(1, 0, -1);
|
|
|
|
|
GeometryAndMeshingItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_GeometryandMeshing));
|
|
|
|
|
this->addTopLevelItem(GeometryAndMeshingItem);
|
|
|
|
|
QTreeWidgetItem *mesh = new QTreeWidgetItem();
|
|
|
|
|
mesh->setText(0, tr("Mesh001"));
|
|
|
|
|
mesh->setData(1, 0, -1);
|
|
|
|
|
// mesh->setdata(2,0,QVariant::fromValue(SolutionAnalysisTreeEnum::))
|
|
|
|
|
GeometryAndMeshingItem->addChild(mesh);
|
|
|
|
|
QTreeWidgetItem *ComputationalSetupItem = new QTreeWidgetItem();
|
|
|
|
|
ComputationalSetupItem->setText(0, tr("Computational Setup"));
|
|
|
|
|
ComputationalSetupItem->setData(1, 0, -1);
|
|
|
|
|
ComputationalSetupItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetup));
|
|
|
|
|
this->addTopLevelItem(ComputationalSetupItem);
|
|
|
|
|
QTreeWidgetItem *TimeModeItem = new QTreeWidgetItem();
|
|
|
|
|
TimeModeItem->setText(0, tr("Time Mode"));
|
|
|
|
|
TimeModeItem->setData(1, 0, -1);
|
|
|
|
|
TimeModeItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupTimeMode));
|
|
|
|
|
ComputationalSetupItem->addChild(TimeModeItem);
|
|
|
|
|
QTreeWidgetItem *ComputationalDomainItem = new QTreeWidgetItem();
|
|
|
|
|
ComputationalDomainItem->setText(0, tr("Computational Domain"));
|
|
|
|
|
ComputationalDomainItem->setData(1, 0, -1);
|
|
|
|
|
ComputationalDomainItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomain));
|
|
|
|
|
ComputationalSetupItem->addChild(ComputationalDomainItem);
|
|
|
|
|
QTreeWidgetItem *SolverItem = new QTreeWidgetItem();
|
|
|
|
|
SolverItem->setText(0, tr("Solver"));
|
|
|
|
|
SolverItem->setData(1, 0, -1);
|
|
|
|
|
SolverItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolver));
|
|
|
|
|
ComputationalDomainItem->addChild(SolverItem);
|
|
|
|
|
QTreeWidgetItem *BasicModelItem = new QTreeWidgetItem();
|
|
|
|
|
BasicModelItem->setText(0, tr("Basic Model"));
|
|
|
|
|
BasicModelItem->setData(1, 0, -1);
|
|
|
|
|
BasicModelItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverBasicModel));
|
|
|
|
|
SolverItem->addChild(BasicModelItem);
|
|
|
|
|
QTreeWidgetItem *ViscosityModelItem = new QTreeWidgetItem();
|
|
|
|
|
ViscosityModelItem->setText(0, tr("Viscosity Model"));
|
|
|
|
|
ViscosityModelItem->setData(1, 0, -1);
|
|
|
|
|
ViscosityModelItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverViscosityModel));
|
|
|
|
|
SolverItem->addChild(ViscosityModelItem);
|
|
|
|
|
QTreeWidgetItem *NumericalMethodsItem = new QTreeWidgetItem();
|
|
|
|
|
NumericalMethodsItem->setText(0, tr("Numerical Methods"));
|
|
|
|
|
NumericalMethodsItem->setData(1, 0, -1);
|
|
|
|
|
NumericalMethodsItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverNumericalMethods));
|
|
|
|
|
SolverItem->addChild(NumericalMethodsItem);
|
|
|
|
|
QTreeWidgetItem *MotionPropertiesItem = new QTreeWidgetItem();
|
|
|
|
|
//---------------------------------------------------------------------------------------------
|
|
|
|
|
MotionPropertiesItem->setText(0, tr("Motion Properties"));
|
|
|
|
|
MotionPropertiesItem->setData(1, 0, -1);
|
|
|
|
|
MotionPropertiesItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMotionProperties));
|
|
|
|
|
ComputationalDomainItem->addChild(MotionPropertiesItem);
|
|
|
|
|
QTreeWidgetItem *motion1Item = new QTreeWidgetItem();
|
|
|
|
|
motion1Item->setText(0, tr("motion-1"));
|
|
|
|
|
motion1Item->setData(1, 0, -1);
|
|
|
|
|
MotionPropertiesItem->addChild(motion1Item);
|
|
|
|
|
QTreeWidgetItem *BoundaryConditionsItem = new QTreeWidgetItem();
|
|
|
|
|
BoundaryConditionsItem->setText(0, tr("Boundary Conditions"));
|
|
|
|
|
BoundaryConditionsItem->setData(1, 0, -1);
|
|
|
|
|
BoundaryConditionsItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverBoundaryConditions));
|
|
|
|
|
ComputationalDomainItem->addChild(BoundaryConditionsItem);
|
|
|
|
|
QTreeWidgetItem *pressureinletItem = new QTreeWidgetItem();
|
|
|
|
|
pressureinletItem->setText(0, tr("Pressure-Inlet"));
|
|
|
|
|
pressureinletItem->setData(1, 0, -1);
|
|
|
|
|
pressureinletItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverBoundaryConditionsPressureInlet));
|
|
|
|
|
BoundaryConditionsItem->addChild(pressureinletItem);
|
|
|
|
|
QTreeWidgetItem *InitializationItem = new QTreeWidgetItem();
|
|
|
|
|
InitializationItem->setText(0, tr("Initialization"));
|
|
|
|
|
InitializationItem->setData(1, 0, -1);
|
|
|
|
|
InitializationItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverInitialization));
|
|
|
|
|
ComputationalDomainItem->addChild(InitializationItem);
|
|
|
|
|
QTreeWidgetItem *ReferenceQuantityItem = new QTreeWidgetItem();
|
|
|
|
|
ReferenceQuantityItem->setText(0, tr("Dimensionless"));
|
|
|
|
|
ReferenceQuantityItem->setData(1, 0, -1);
|
|
|
|
|
ReferenceQuantityItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverComputationalControlReferenceQuantity));
|
|
|
|
|
InitializationItem->addChild(ReferenceQuantityItem);
|
|
|
|
|
QTreeWidgetItem *ComputationalControlItem = new QTreeWidgetItem();
|
|
|
|
|
ComputationalControlItem->setText(0, tr("Computational Control"));
|
|
|
|
|
ComputationalControlItem->setData(1, 0, -1);
|
|
|
|
|
ComputationalControlItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverComputationalControl));
|
|
|
|
|
ComputationalDomainItem->addChild(ComputationalControlItem);
|
|
|
|
|
QTreeWidgetItem *MonitorsItem = new QTreeWidgetItem();
|
|
|
|
|
MonitorsItem->setText(0, tr("Monitors"));
|
|
|
|
|
MonitorsItem->setData(1, 0, -1);
|
|
|
|
|
MonitorsItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitors));
|
|
|
|
|
ComputationalDomainItem->addChild(MonitorsItem);
|
|
|
|
|
QTreeWidgetItem *ResidualItem = new QTreeWidgetItem();
|
|
|
|
|
ResidualItem->setText(0, tr("Residual"));
|
|
|
|
|
ResidualItem->setData(1, 0, -1);
|
|
|
|
|
ResidualItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsResidual));
|
|
|
|
|
MonitorsItem->addChild(ResidualItem);
|
|
|
|
|
QTreeWidgetItem *AerodynamicForceItem = new QTreeWidgetItem();
|
|
|
|
|
AerodynamicForceItem->setText(0, tr("Aerodynamic Force"));
|
|
|
|
|
AerodynamicForceItem->setData(1, 0, -1);
|
|
|
|
|
AerodynamicForceItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsAerodynamicForce));
|
|
|
|
|
MonitorsItem->addChild(AerodynamicForceItem);
|
|
|
|
|
QTreeWidgetItem *TurbomachineryPerformanceItem = new QTreeWidgetItem();
|
|
|
|
|
TurbomachineryPerformanceItem->setText(0, tr("Turbomachinery Performance"));
|
|
|
|
|
TurbomachineryPerformanceItem->setData(1, 0, -1);
|
|
|
|
|
TurbomachineryPerformanceItem->setData(2, 0, QVariant::fromValue(SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsTurbomachineryPerformance));
|
|
|
|
|
MonitorsItem->addChild(TurbomachineryPerformanceItem);
|
|
|
|
|
|
|
|
|
|
QTreeWidgetItem *SaveItem = new QTreeWidgetItem();
|
|
|
|
|
SaveItem->setText(0,tr("Save"));
|
|
|
|
|
SaveItem->setData(2,0,999);
|
|
|
|
|
this->addTopLevelItem(SaveItem);
|
|
|
|
|
QTreeWidgetItem *SaveItem = new QTreeWidgetItem();
|
|
|
|
|
SaveItem->setText(0, tr("Save"));
|
|
|
|
|
SaveItem->setData(2, 0, 999);
|
|
|
|
|
this->addTopLevelItem(SaveItem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
void CFDTreeWidget::addTreePostprocessing() {
|
|
|
|
|
QTreeWidgetItem *PostProcessingItem = new QTreeWidgetItem();
|
|
|
|
|
PostProcessingItem->setText(0, tr("Post-processing"));
|
|
|
|
|
PostProcessingItem->setData(1, 0, -1);
|
|
|
|
|
this->addTopLevelItem(PostProcessingItem);
|
|
|
|
|
QTreeWidgetItem *MeshItem = new QTreeWidgetItem();
|
|
|
|
|
MeshItem->setText(0, tr("Mesh"));
|
|
|
|
|
MeshItem->setData(1, 0, -1);
|
|
|
|
|
PostProcessingItem->addChild(MeshItem);
|
|
|
|
|
QTreeWidgetItem *Mesh1Item = new QTreeWidgetItem();
|
|
|
|
|
Mesh1Item->setText(0, tr("Mesh 1"));
|
|
|
|
|
Mesh1Item->setData(1, 0, -1);
|
|
|
|
|
MeshItem->addChild(Mesh1Item);
|
|
|
|
|
QTreeWidgetItem *Interface1Item = new QTreeWidgetItem();
|
|
|
|
|
Interface1Item->setText(0, tr("Interface 1"));
|
|
|
|
|
Interface1Item->setData(1, 0, -1);
|
|
|
|
|
MeshItem->addChild(Interface1Item);
|
|
|
|
|
QTreeWidgetItem *CuttingPlaneItem = new QTreeWidgetItem();
|
|
|
|
|
CuttingPlaneItem->setText(0, tr("Cutting Plane"));
|
|
|
|
|
CuttingPlaneItem->setData(1, 0, -1);
|
|
|
|
|
PostProcessingItem->addChild(CuttingPlaneItem);
|
|
|
|
|
QTreeWidgetItem *IsosurfaceItem = new QTreeWidgetItem();
|
|
|
|
|
IsosurfaceItem->setText(0, tr("Isosurface"));
|
|
|
|
|
IsosurfaceItem->setData(1, 0, -1);
|
|
|
|
|
PostProcessingItem->addChild(IsosurfaceItem);
|
|
|
|
|
QTreeWidgetItem *StreamlineItem = new QTreeWidgetItem();
|
|
|
|
|
StreamlineItem->setText(0, tr("Streamline"));
|
|
|
|
|
StreamlineItem->setData(1, 0, -1);
|
|
|
|
|
PostProcessingItem->addChild(StreamlineItem);
|
|
|
|
|
QTreeWidgetItem *DataStatisticsItem = new QTreeWidgetItem();
|
|
|
|
|
DataStatisticsItem->setText(0, tr("Data Statistics"));
|
|
|
|
|
DataStatisticsItem->setData(1, 0, -1);
|
|
|
|
|
PostProcessingItem->addChild(DataStatisticsItem);
|
|
|
|
|
QTreeWidgetItem *ForceAndMomentItem = new QTreeWidgetItem();
|
|
|
|
|
ForceAndMomentItem->setText(0, tr("Force and Moment"));
|
|
|
|
|
ForceAndMomentItem->setData(1, 0, -1);
|
|
|
|
|
DataStatisticsItem->addChild(ForceAndMomentItem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CFDTreeWidget::addTreePostprocessing()
|
|
|
|
|
{
|
|
|
|
|
QTreeWidgetItem *PostProcessingItem = new QTreeWidgetItem();
|
|
|
|
|
PostProcessingItem->setText(0, tr("Post-processing"));
|
|
|
|
|
PostProcessingItem->setData(1, 0, -1);
|
|
|
|
|
this->addTopLevelItem(PostProcessingItem);
|
|
|
|
|
QTreeWidgetItem *MeshItem = new QTreeWidgetItem();
|
|
|
|
|
MeshItem->setText(0, tr("Mesh"));
|
|
|
|
|
MeshItem->setData(1, 0, -1);
|
|
|
|
|
PostProcessingItem->addChild(MeshItem);
|
|
|
|
|
QTreeWidgetItem *Mesh1Item = new QTreeWidgetItem();
|
|
|
|
|
Mesh1Item->setText(0, tr("Mesh 1"));
|
|
|
|
|
Mesh1Item->setData(1, 0, -1);
|
|
|
|
|
MeshItem->addChild(Mesh1Item);
|
|
|
|
|
QTreeWidgetItem *Interface1Item = new QTreeWidgetItem();
|
|
|
|
|
Interface1Item->setText(0, tr("Interface 1"));
|
|
|
|
|
Interface1Item->setData(1, 0, -1);
|
|
|
|
|
MeshItem->addChild(Interface1Item);
|
|
|
|
|
QTreeWidgetItem *CuttingPlaneItem = new QTreeWidgetItem();
|
|
|
|
|
CuttingPlaneItem->setText(0, tr("Cutting Plane"));
|
|
|
|
|
CuttingPlaneItem->setData(1, 0, -1);
|
|
|
|
|
PostProcessingItem->addChild(CuttingPlaneItem);
|
|
|
|
|
QTreeWidgetItem *IsosurfaceItem = new QTreeWidgetItem();
|
|
|
|
|
IsosurfaceItem->setText(0, tr("Isosurface"));
|
|
|
|
|
IsosurfaceItem->setData(1, 0, -1);
|
|
|
|
|
PostProcessingItem->addChild(IsosurfaceItem);
|
|
|
|
|
QTreeWidgetItem *StreamlineItem = new QTreeWidgetItem();
|
|
|
|
|
StreamlineItem->setText(0, tr("Streamline"));
|
|
|
|
|
StreamlineItem->setData(1, 0, -1);
|
|
|
|
|
PostProcessingItem->addChild(StreamlineItem);
|
|
|
|
|
QTreeWidgetItem *DataStatisticsItem = new QTreeWidgetItem();
|
|
|
|
|
DataStatisticsItem->setText(0, tr("Data Statistics"));
|
|
|
|
|
DataStatisticsItem->setData(1, 0, -1);
|
|
|
|
|
PostProcessingItem->addChild(DataStatisticsItem);
|
|
|
|
|
QTreeWidgetItem *ForceAndMomentItem = new QTreeWidgetItem();
|
|
|
|
|
ForceAndMomentItem->setText(0, tr("Force and Moment"));
|
|
|
|
|
ForceAndMomentItem->setData(1, 0, -1);
|
|
|
|
|
DataStatisticsItem->addChild(ForceAndMomentItem);
|
|
|
|
|
void CFDTreeWidget::onItemClicked(QTreeWidgetItem *item, int column) {
|
|
|
|
|
EventOper::TreeEventOperator *treeOper = Core::FITKOperatorRepo::getInstance()->getOperatorT<EventOper::TreeEventOperator>("ModelTreeEvent");
|
|
|
|
|
if (treeOper == nullptr) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
EventOper::GraphEventOperator *graphOper = FITKOPERREPO->getOperatorT<EventOper::GraphEventOperator>("GraphPreprocess");
|
|
|
|
|
if (graphOper == nullptr) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
graphOper->clearHighlight();
|
|
|
|
|
if (item == nullptr) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
int objID = item->data(1, 0).toInt();
|
|
|
|
|
|
|
|
|
|
void CFDTreeWidget::onItemClicked(QTreeWidgetItem *item, int column)
|
|
|
|
|
{
|
|
|
|
|
EventOper::TreeEventOperator *treeOper = Core::FITKOperatorRepo::getInstance()->getOperatorT<EventOper::TreeEventOperator>("ModelTreeEvent");
|
|
|
|
|
if (treeOper == nullptr) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
EventOper::GraphEventOperator *graphOper = FITKOPERREPO->getOperatorT<EventOper::GraphEventOperator>("GraphPreprocess");
|
|
|
|
|
if (graphOper == nullptr) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
graphOper->clearHighlight();
|
|
|
|
|
if (item == nullptr) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
int objID = item->data(1, 0).toInt();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(item->data(2,0) == 999){
|
|
|
|
|
qDebug()<<"Save is clicked";
|
|
|
|
|
CFDStructDataManager::getInstance()->initJson();
|
|
|
|
|
CFDStructDataManager::getInstance()->updateJson();
|
|
|
|
|
CFDStructDataManager::getInstance()->printJson();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SolutionAnalysisTreeEnum treeType = item->data(2, 0).value<SolutionAnalysisTreeEnum>();
|
|
|
|
|
Interface::FITKGeoEnum::FITKGeometryComType geometryType = item->data(3, 0).value<Interface::FITKGeoEnum::FITKGeometryComType>();
|
|
|
|
|
SolutionAnalysisModuleProperty sig = SolutionAnalysisModuleProperty::UNKNOW;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (item->data(2, 0) == 999) {
|
|
|
|
|
qDebug() << "Save is clicked";
|
|
|
|
|
CFDStructDataManager::getInstance()->initJson();
|
|
|
|
|
CFDStructDataManager::getInstance()->updateJson();
|
|
|
|
|
CFDStructDataManager::getInstance()->printJson();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch (treeType) {
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupTimeMode:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Time_Mode;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverBasicModel:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Basic_Model;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverViscosityModel:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Viscosity_Model;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverNumericalMethods:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::NUumerical_Methods;
|
|
|
|
|
break;
|
|
|
|
|
//---------------------------------------------------------------------------------------
|
|
|
|
|
// 运动属性
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMotionProperties:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Motion_Properties;
|
|
|
|
|
break;
|
|
|
|
|
// Pressure-Inlet
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverBoundaryConditionsPressureInlet:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Boundary_Conditions;
|
|
|
|
|
break;
|
|
|
|
|
// 初始化
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverInitialization:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Initialization;
|
|
|
|
|
break;
|
|
|
|
|
// 参考量
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverComputationalControlReferenceQuantity:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Computational_Control_Reference_Quantity;
|
|
|
|
|
break;
|
|
|
|
|
// 计算控制
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverComputationalControl:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Computational_Control;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsResidual:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Monitors_Residual;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsAerodynamicForce:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Monitors_AerodynamicForce;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsTurbomachineryPerformance:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Monitors_Tubomachinery_Performance;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
qDebug() << (int)sig;
|
|
|
|
|
if (sig != SolutionAnalysisModuleProperty::UNKNOW) {
|
|
|
|
|
emit CFDStructSigsCenter::getInstance()->sig_solverModuleProperty(sig);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
SolutionAnalysisTreeEnum treeType = item->data(2, 0).value<SolutionAnalysisTreeEnum>();
|
|
|
|
|
Interface::FITKGeoEnum::FITKGeometryComType geometryType = item->data(3, 0).value<Interface::FITKGeoEnum::FITKGeometryComType>();
|
|
|
|
|
SolutionAnalysisModuleProperty sig = SolutionAnalysisModuleProperty::UNKNOW;
|
|
|
|
|
|
|
|
|
|
switch (treeType) {
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupTimeMode:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Time_Mode;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverBasicModel:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Basic_Model;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverViscosityModel:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Viscosity_Model;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverNumericalMethods:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::NUumerical_Methods;
|
|
|
|
|
break;
|
|
|
|
|
//---------------------------------------------------------------------------------------
|
|
|
|
|
// 运动属性
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMotionProperties:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Motion_Properties;
|
|
|
|
|
break;
|
|
|
|
|
// Pressure-Inlet
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverBoundaryConditionsPressureInlet:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Boundary_Conditions;
|
|
|
|
|
break;
|
|
|
|
|
// 初始化
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverInitialization:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Initialization;
|
|
|
|
|
break;
|
|
|
|
|
// 参考量
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverComputationalControlReferenceQuantity:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Computational_Control_Reference_Quantity;
|
|
|
|
|
break;
|
|
|
|
|
// 计算控制
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverComputationalControl:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Computational_Control;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsResidual:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Monitors_Residual;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsAerodynamicForce:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Monitors_AerodynamicForce;
|
|
|
|
|
break;
|
|
|
|
|
case SolutionAnalysisTreeEnum::SATree_ComputationalSetupComputationalDomainSolverMonitorsTurbomachineryPerformance:
|
|
|
|
|
sig = SolutionAnalysisModuleProperty::Monitors_Tubomachinery_Performance;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
qDebug() << (int)sig;
|
|
|
|
|
if (sig != SolutionAnalysisModuleProperty::UNKNOW) {
|
|
|
|
|
emit CFDStructSigsCenter::getInstance() -> sig_solverModuleProperty(sig);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // namespace GUI
|
|
|
|
|