You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/Include/iData/iXmlManager/iXmlUtilModels.h

58 lines
2.1 KiB
C

#pragma once
#include "iXmlTable.h"
#include "iModelInfoBase.h"
#include "iModelDescGroup.h"
#include "iParameterGroup.h"
#include "iXmlUtilBase.h"
#include "iModelInfo.h"
// 加载模型结构体
class I_XMLMANAGER_EXPORT iXmlUtilModels : public iXmlUtilBase
{
public:
/// @brief 加载模型结构体
/// @param pVecWbs...各种不同的模型结构体。
/// 如果不想解析某一参数直接传入NULL即可
/// @param sFileXml对应文件
static bool loadStructs(vecModelInfoBasesPtr* pVecWbs,
vecModelInfoBasesPtr* pVecWel,
vecModelInfoBasesPtr* pVecRes,
vecModelInfoBasesPtr* pVecBdy,
vecModelDescGroupsPtr*& pVecGroups,
QString sFile);
///新修改后加载模型
static bool loadModelWelInfoStructs(vecModelInfosPtr* pVecWel,
QString sFile);
static bool loadModelResInfoStructs(vecModelInfosPtr* pVecRes,
QString sFile);
static bool loadModelDescInfoStructs(vecModelDescInfosPtr* pVecDesc,
QString sFile);
private:
// 加载
static bool parseInfos(QDomElement& root, QString sKey, \
vecModelInfoBasesPtr* pVec, int nOption);
static bool parseInfoExs(QDomElement& root, QString sKey, \
vecModelDescGroupsPtr* pVec);
static bool parseInfoParas(QDomElement& root, QString sKey, \
QMap<QString, QString>& mapParas);
// 关联Group中Desc的信息
static bool bindModelInfos(vecModelDescGroupsPtr* pVecGroups,
vecModelInfoBasesPtr* pVecWbs,
vecModelInfoBasesPtr* pVecWel,
vecModelInfoBasesPtr* pVecRes,
vecModelInfoBasesPtr* pVecBdy);
// 加载
static bool parseInfos(QDomElement& root, QString sKey, \
vecModelInfosPtr* pVec);
};