123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- #ifndef _MODELSATABASEEXTEND_H_
- #define _MODELSATABASEEXTEND_H_
- #include "modelDataAPI.h"
- #include "modelDataBase.h"
- #include <QStringList>
- #include <QList>
- #include <QHash>
- class QDomDocument;
- class QDomElement;
- namespace DataProperty
- {
- class DataBase;
- class ParameterBase;
- class ParameterGroup;
- }
- namespace ConfigOption
- {
- class PostCurve;
- class ParameterObserver;
- }
- namespace Post
- {
- class Post2DWindowInterface;
- class Post3DWindowInterface;
- }
- namespace ModelData
- {
- class MODELDATAAPI ModelDataBaseExtend : public ModelDataBase
- {
- public:
- ModelDataBaseExtend(ProjectTreeType type);
- ~ModelDataBaseExtend();
- virtual void copyFormConfig() override;
- virtual void generateParaInfo() override;
- //添加报告
- void appendReport(QString report);
- //获取报告数量
- int getReportCount();
- //获取第index个报告
- QString getReportAt(int index);
- //移除第index个报告
- void removeReportAt(int index);
- //设置属性,网格组件ID与属性ID
- void setProperty(int setID, int pid);
- //获取组件的材料ID
- int getPropertyID(int setid);
- //组件是否被设置材料
- bool isPropertySetted(int setid);
- //解除属性与组件的绑定
- void removeProperty(int setid);
-
- virtual void setComponentIDList(QList<int> ids);
- virtual void removeComponentAt(int index) override;
- virtual QDomElement& writeToProjectFile(QDomDocument* doc, QDomElement* ele) override;
- virtual void writeToProjectFile1(QDomDocument* doc, QDomElement* ele) override;
- virtual void readDataFromProjectFile(QDomElement* e) override;
- virtual void writeToSolverXML(QDomDocument* doc, QDomElement* e) override;
- virtual void dataToStream(QDataStream* datas) override;
- void appendConfigData(int dataID, DataProperty::DataBase* d);
- DataProperty::DataBase* getConfigData(int dataid);
- //获取节点数量
- int getConfigDataCount();
- //获取监控文件的名称
- QStringList getMonitorFile();
- //获取监控文件的绝对路径
- QStringList getAbsoluteMonitorFile();
- //根据文件获取监控的变量列表
- QStringList getMonitorVariables(QString file);
- //获取监控曲线
- QList<ConfigOption::PostCurve*> getMonitorCurves();
- //获取第index的监控曲线
- ConfigOption::PostCurve* getMonitorCurveAt(const int index);
- //获取后处理二维曲线文件
- QStringList getPost2DFiles();
- //获取后处理二维曲线文件的绝对路径
- QStringList getAbsolutePost2DFiles();
- //根据文件获取二维曲线文件中的变量
- QStringList getPost2DVariables(QString f);
- //获取三维后处理文件
- QString getPost3DFile();
- //获取三维后处理标量
- void get3DScalars(QStringList &node, QStringList &ele);
- //获取三维后处理向量
- void get3DVector(QStringList &node, QStringList &ele);
- //添加二维后处理曲线
- void apppendPlotCurve(ConfigOption::PostCurve* c);
- //获取已绘制曲线
- QList<ConfigOption::PostCurve*> getPlotCurves();
- //移除二维曲线
- void removePlotCurve(int index);
- //清除全部二维曲线
- void clearPlotCurve();
- //后处理曲线是否存在
- bool isPostCurveExist(QString name);
- //添加标量变量名称
- void appendScalarVariable(QString v);
- //获取标量变量名称
- QStringList getScalarVariable();
- //移除第index个标量
- void removeScalarVariable(int index);
- //添加向量变量名称
- void appendVectorVariable(QString v);
- //获取向量变量名称
- QStringList getVectorVariable();
- //移除第index个向量名称
- void removeVectorVariable(int index);
- //情况三维变量
- void clear3DVariable();
- DataProperty::ParameterBase* getParameterByName(QString name) override;
- DataProperty::ParameterGroup* getParameterGroupByName(QString name) override;
- virtual void removeParameter(DataProperty::ParameterBase* p) override;
- virtual void removeParameterGroup(DataProperty::ParameterGroup* g) override;
- //设置二维绘图窗口
- void setPost2DWindow(Post::Post2DWindowInterface* p2d);
- //获取二维窗口
- Post::Post2DWindowInterface* getPost2DWindow();
- //设置三维渲染窗口
- void setPost3DWindow(Post::Post3DWindowInterface* p3d);
- //获取三维渲染窗口
- Post::Post3DWindowInterface* getPost3DWindow();
- void bindInpMaterialIds(const QList<int>&);
- const QList<int>& getInpMaterialIds();
- protected:
- void registerObserver();
-
- protected:
- QList<int> _inpMaterIds;
- QHash<int, int> _setProperty{};
- QStringList _reportList{};
- QHash<int, DataProperty::DataBase*> _configData{};
- QStringList _monitorFiles{};
- QList<ConfigOption::PostCurve*> _monitorCurves{};
- QList<ConfigOption::PostCurve*> _postCurves{};
- // QStringList _plot2DVariable{};
- QStringList _scalarVariable{};
- QStringList _vectorVariable{};
- QList<ConfigOption::ParameterObserver*> _observerList{};
- Post::Post2DWindowInterface* _post2DWindow{};
- Post::Post3DWindowInterface* _post3DWindow{};
- };
- }
- #endif
|