214 lines
5.3 KiB
C
214 lines
5.3 KiB
C
|
#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
|