COMPASSi/trunk/code/inc/DataManager/Infrastructure.Data/StructureCalculation/StrengthCalculation.h

248 lines
5.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 总纵强度计算输入 结构定义StrengthSet.xsd表中的相关xml结构在c++中的自定义
// 包含 1、梁端横剖面 2、船体梁外载 3、船体有限梁 4、总强度校核 的相关结构体
#ifndef STRENGTH_CAL_H
#define STRENGTH_CAL_H
#include "nlohmann/json.hpp"
// #include "ModelDS.hxx"
#include "StrengthSet.hxx"
// class...
namespace strength_set
{
class JsonSection
{
public:
static nlohmann::json to_json(const Section &obj);
static Section from_json(const nlohmann::json &j);
};
class JsonSecNode
{
public:
static nlohmann::json to_json(const SecNode &obj);
static SecNode from_json(const nlohmann::json &j);
};
class JsonSecPlate
{
public:
static nlohmann::json to_json(const SecPlate &obj);
static SecPlate from_json(const nlohmann::json &j);
};
class JsonSecOpenroom
{
public:
static nlohmann::json to_json(const SecOpenroom &obj);
static SecOpenroom from_json(const nlohmann::json &j);
};
class JsonSecCloseroom
{
public:
static nlohmann::json to_json(const SecCloseroom &obj);
static SecCloseroom from_json(const nlohmann::json &j);
};
class JsonSecShell
{
public:
static nlohmann::json to_json(const SecShell &obj);
static SecShell from_json(const nlohmann::json &j);
};
class JsonSubnode
{
public:
static nlohmann::json to_json(const Subnode &obj);
static Subnode from_json(const nlohmann::json &j);
};
class JsonMat
{
public:
static nlohmann::json to_json(const Mat &obj);
static Mat from_json(const nlohmann::json &j);
};
class JsonSubgirder
{
public:
static nlohmann::json to_json(const Subgirder &obj);
static Subgirder from_json(const nlohmann::json &j);
};
class JsonAttach
{
public:
static nlohmann::json to_json(const Attach &obj);
static Attach from_json(const nlohmann::json &j);
};
class JsonGirder
{
public:
static nlohmann::json to_json(const Girder &obj);
static Girder from_json(const nlohmann::json &j);
};
class JsonLoads
{
public:
static nlohmann::json to_json(const Loads &obj);
static Loads from_json(const nlohmann::json &j);
};
class JsonOffset
{
public:
static nlohmann::json to_json(const Offset &obj);
static Offset from_json(const nlohmann::json &j);
};
class JsonWL
{
public:
static nlohmann::json to_json(const WL &obj);
static WL from_json(const nlohmann::json &j);
};
class JsonBonjean
{
public:
static nlohmann::json to_json(const Bonjean &obj);
static Bonjean from_json(const nlohmann::json &j);
};
class JsonKL
{
public:
static nlohmann::json to_json(const KL &obj);
static KL from_json(const nlohmann::json &j);
};
class JsonLoadCase
{
public:
static nlohmann::json to_json(const LoadCase &obj);
static LoadCase from_json(const nlohmann::json &j);
};
class JsonStWeight
{
public:
static nlohmann::json to_json(const StWeight &obj);
static StWeight from_json(const nlohmann::json &j);
};
class JsonItemWeight
{
public:
static nlohmann::json to_json(const ItemWeight &obj);
static ItemWeight from_json(const nlohmann::json &j);
};
class JsonMTC
{
public:
static nlohmann::json to_json(const MTC &obj);
static MTC from_json(const nlohmann::json &j);
};
class JsonLiftedCargo
{
public:
static nlohmann::json to_json(const LiftedCargo &obj);
static LiftedCargo from_json(const nlohmann::json &j);
};
class JsonChkSubgirder
{
public:
static nlohmann::json to_json(const ChkSubgirder &obj);
static ChkSubgirder from_json(const nlohmann::json &j);
};
class JsonChkPlate
{
public:
static nlohmann::json to_json(const ChkPlate &obj);
static ChkPlate from_json(const nlohmann::json &j);
};
class JsonChkLongitudinal
{
public:
static nlohmann::json to_json(const ChkLongitudinal &obj);
static ChkLongitudinal from_json(const nlohmann::json &j);
};
class JsonStaticLoad
{
public:
static nlohmann::json to_json(const StaticLoad &obj);
static StaticLoad from_json(const nlohmann::json &j);
};
class JsonAllowLoad
{
public:
static nlohmann::json to_json(const AllowLoad &obj);
static AllowLoad from_json(const nlohmann::json &j);
};
class JsonAddtionalLoad
{
public:
// 从 AddtionalLoad 生成 JSON静态方法
static nlohmann::json to_json(const AddtionalLoad &obj);
// 从 JSON 构造 AddtionalLoad静态工厂
static AddtionalLoad from_json(const nlohmann::json &j);
};
class JsonProjectInfo
{
public:
static nlohmann::json to_json(const ProjectInfo &obj);
static ProjectInfo from_json(const nlohmann::json &j);
};
class JsonPub
{
public:
static nlohmann::json to_json(const Pub &obj);
static Pub from_json(const nlohmann::json &j);
};
}
#endif