COMPASSi/trunk/code/inc/DataManager/DataManagerInterface/include/ShipInfo.h

214 lines
5.3 KiB
C
Raw Normal View History

2025-06-25 15:06:42 +08:00
#ifndef SHIP_INFO_H
#define SHIP_INFO_H
#include <QString>
#include <QStringList>
// 船舶基本信息
struct ShipInfo_M
{
public:
ShipInfo_M()
{
clear();
}
~ShipInfo_M()
{
clear();
}
void clear()
{
m_PrjName = ""; // 船名
m_WorkNo = ""; // 控制号
m_Designer = ""; // 设计单位
m_Owner = ""; // 所有者
m_Signature = ""; // 计算签名
m_CalDate = ""; // 计算签名
// 主要尺度
m_ShipType = 0; // 船舶类型
m_SelfPropelled = 0; // 是否自航船
m_Lpp = 0; // 垂线间长
m_Loa = 0; // 总长
m_L = 0; // 规范船长
m_Lw = 0; // 设计水线长
m_B = 0; // 型宽
m_D = 0; // 型深
m_T = 0; // 设计吃水
m_TMax = 0; // 结构吃水
m_NOe = 0; // 主机台数
m_Ne = 0; // 单机功率
m_Disp = 0; // 排水量
m_Cb = 0; // 方形系数
m_V = 0; // 设计航速
m_Density = 0; // 水的密度
m_Le = 0; // 最大船长
// 肋位标尺/型线标尺
m_X0Pos = 0; // 原点位置
m_F0X = 0; // 0号肋位X坐标
m_iFrame = 0; // 肋骨定义是递减还是递增 '0 递减 1 递增
m_St0X = 0; // 0号站位X坐标
m_StDis = 0; // 站距
m_ParallelFirstPos = ""; // 平行中体首位置
m_ParallelEndPos = ""; // 平行中体尾位置
m_HeelAngle = 0; // 横倾最大角度
m_HellAngDis = 0; // 横倾角度间距
m_TrimAngle = 0; // 纵倾最大角度
m_TrimAngDis = 0; // 纵倾角度间距
}
// 工程信息
QString m_PrjName; // 船名
QString m_WorkNo; // 控制号
QString m_Designer; // 设计单位
QString m_Owner; // 所有者
QString m_Signature; // 计算签名
QString m_CalDate; // 计算签名
// 主要尺度
int m_ShipType; // 船舶类型
int m_SelfPropelled; // 是否自航船
QStringList m_NavArea; // 航区
QStringList m_NavSection; // 航段
double m_Lpp; // 垂线间长
double m_Loa; // 总长
double m_L; // 规范船长
double m_Lw; // 设计水线长
double m_B; // 型宽
double m_D; // 型深
double m_T; // 设计吃水
double m_TMax; // 结构吃水
int m_NOe; // 主机台数
double m_Ne; // 单机功率
double m_Disp; // 排水量
double m_Cb; // 方形系数
double m_V; // 设计航速
double m_Density; // 水的密度
double m_Le; // 最大船长
// 肋位标尺/型线标尺
int m_X0Pos; // 原点位置
double m_F0X; // 0号肋位X坐标
int m_iFrame; // 肋骨定义是递减还是递增 '0 递减 1 递增
double m_St0X; // 0号站位X坐标
double m_StDis; // 站距
QString m_ParallelFirstPos; // 平行中体首位置
QString m_ParallelEndPos; // 平行中体尾位置
double m_HeelAngle; // 横倾最大角度
double m_HellAngDis; // 横倾角度间距
double m_TrimAngle; // 纵倾最大角度
double m_TrimAngDis; // 纵倾角度间距
};
// 肋位
struct Frame_M
{
public:
Frame_M()
{
m_ID = 0;
m_Num = 0; // 肋位号
m_NumS = 0; // 起始肋位号
m_Dis = 0; // 肋距
}
int m_ID;
int m_Num; // 肋位号
int m_NumS; // 起始肋位号
double m_Dis; // 肋距
};
// 站位
struct Station_M
{
public:
Station_M()
{
m_ID = 0;
m_Num = 0;
m_Pos = 0;
}
int m_ID;
double m_Num; // 站位号
double m_Pos; // 站位位置
};
// 水线
struct WaterlinePos_M
{
public:
WaterlinePos_M()
{
m_ID = 0;
m_Num = "";
m_Pos = 0;
}
int m_ID;
QString m_Num; // 水线号
double m_Pos; // 水线位置
};
// 纵剖线
struct ButtocklinePos_M
{
public:
ButtocklinePos_M()
{
m_ID = 0;
m_Num = "";
m_Pos = 0;
}
int m_ID;
QString m_Num; // 纵剖线号
double m_Pos; // 纵剖线位置
};
// 网格间距之水线面切割定义
struct CalWaterPos_M
{
public:
int m_ID;
double m_Pos; // 水线面位置
};
// 网格间距之横剖面切割定义
struct CalSecPos_M
{
public:
int m_ID;
double m_StaNum; // 站号
double m_XPos; // 纵向位置
};
// 网格间距之横倾切割定义
struct CalHeelPos_M
{
public:
int m_ID;
QString m_HeelID; // 横倾标识
double m_HeelHeight; // 横倾高度
double m_C; // 偏移值
};
// 网格间距之纵倾切割定义
struct CalTrimPos_M
{
public:
int m_ID;
QString m_TrimID; // 纵倾标识
double m_TrimHeight; // 纵倾高度
};
// 字典条目
struct DicItem_M
{
public:
int m_ID;
QString m_Name;
};
#endif