#ifndef SHIP_INFO_H #define SHIP_INFO_H #include #include // 船舶基本信息 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