94 lines
2.1 KiB
C
94 lines
2.1 KiB
C
|
#ifndef STABCALCULATIONDATA_H
|
||
|
#define STABCALCULATIONDATA_H
|
||
|
|
||
|
#include "../StabCalculation/StabCalculation.h"
|
||
|
#include <QMap>
|
||
|
#include "Serialization.h"
|
||
|
#include "DataBlock.h"
|
||
|
|
||
|
class StabCalculationData : public Serialization
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
StabCalculationData()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
~StabCalculationData()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
void addHydroBInfo(BInf& info);
|
||
|
BInf* FindByParamID(std::string strParamID);
|
||
|
int fromXml(const pugi::xml_node node);
|
||
|
int toXml(pugi::xml_node node, QString outFilePath);
|
||
|
|
||
|
void AddXLabelRow(XLabel& data);
|
||
|
void AddStationLabelRow(StationLabel& data);
|
||
|
void AddWaterlineLabelRow(WaterlineLabel& data);
|
||
|
void AddButtocklineLabelRow(ButtocklineLabel& data);
|
||
|
|
||
|
void saveStabCalcData(QString path);
|
||
|
|
||
|
void updateData()
|
||
|
{
|
||
|
m_CalcBaseData.updateData();
|
||
|
}
|
||
|
|
||
|
std::vector<std::string>& getAnalyseNameList();
|
||
|
|
||
|
QString getDataRowValue(const QString& key);
|
||
|
void addOrUpdateDataRow(const QString& key, QString value = "", QString caption = "", QString remark = "");
|
||
|
bool createDataRow(const QString& key, QString value = "", QString caption = "", QString remark = "");
|
||
|
bool isEmpty();
|
||
|
bool CreateChildModulus(const QString& key, QString caption = "", QString remark = "");
|
||
|
|
||
|
const StabCalcBaseData& getCalcBaseData()
|
||
|
{
|
||
|
return m_CalcBaseData;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
std::map<std::string,XLabel> m_vXLabelData;
|
||
|
|
||
|
std::map<std::string, StationLabel> m_vStationLabelData;
|
||
|
|
||
|
std::map<std::string, WaterlineLabel> m_vWaterlineLabelData;
|
||
|
std::map<std::string, ButtocklineLabel> m_vButtocklineLabelData;
|
||
|
|
||
|
|
||
|
|
||
|
StabilityCalDataBlock m_StabilityCal;
|
||
|
QMap<QString, DataRowInf*> m_DataRows;
|
||
|
std::vector<std::string> m_ModuleNames;
|
||
|
|
||
|
QMap<QString, DataRowInf*> m_childModules;
|
||
|
std::vector<std::string> m_childModuleNames;
|
||
|
|
||
|
|
||
|
StabCalcBaseData m_CalcBaseData;
|
||
|
// 静水力
|
||
|
Hydro m_Hydro;
|
||
|
|
||
|
//舱容
|
||
|
TankCap m_TankCap;
|
||
|
|
||
|
//完整稳性
|
||
|
Intact m_Intact;
|
||
|
|
||
|
//许用重心高度
|
||
|
AllowKG m_AllowKG;
|
||
|
|
||
|
//破损稳性
|
||
|
Damage m_Damage;
|
||
|
|
||
|
//概率破损
|
||
|
DamageProb m_DamageProb;
|
||
|
|
||
|
//倾斜试验
|
||
|
Inclining m_Inclining;
|
||
|
};
|
||
|
|
||
|
#endif
|