#pragma once // ==================================================================================================== // ==================================================================================================== #include #include #include #include #include #include class BasicInf { public: BasicInf(bool hasIntact = true, bool hasInclining = true, bool hasDamProb = false); BasicInf(); // #region 公共 std::string ShipName; // 船名 std::string Design; // 设计单位 std::string Signature; //计算签名,20170901 added by czb std::string CalDate; // 计算日期 std::string WorkNo; // 控制号,20161209 by czb int Origin = 0; // 原点位置,-1;0;1,船尾、船舯、船首 int XType = 0; //X坐标类型 double OrgOff = 0.0; // 船壳模型的原点相对于船中的偏移量 /// /// 用户坐标系下的艉垂线坐标 /// double getXofAP() const; /// /// 用户坐标系下的舯垂线坐标 /// double getXofMP() const; /// /// 用户坐标系下的艏垂线坐标 /// double getXofFP() const; /// /// 尾垂线为原点的X坐标,转换为用户坐标(原点由Orgin决定) /// double XofAP2User(double x); //20160906新增 /// /// 用户指定原点的X坐标(原点由Orgin决定),转换为尾垂线原点的X坐标 /// double XofUser2AP(double x); //20160906新增 /// /// 船舯为原点的X坐标,转换为用户坐标(原点由Orgin决定) /// double XofMP2User(double x); //20160906新增 /// /// 用户指定原点的X坐标(原点由Orgin决定),转换为船舯原点的坐标 /// double XofUser2MP(double x); //20160906新增 /// /// 肋位表X值 /// std::vector LabelX; bool IsCatamaran = false; // 双体船 double Lpp = 0.0; // 垂线间长 m ,数据集对象尚未添加相应内容 2016.6.24 double L = 0.0; // 船长 m double B = 0.0; // 船宽 m double D = 0.0; // 型深 m double d = 0.0; // 吃水 m //public double DraftEvalMax; // 最大计算吃水 m //public double DraftEvalInterval; // 吃水计算间隔 m std::string DraftList; // 计算吃水列表,从小到大排列,分号、冒号、逗号、空格作为分隔符 std::vector Draft; // 计算吃水列表,从小到大排列 // #endregion // #region 静水力、完整稳性、破损稳性、许用重心高度 double Density = 0.0; // 舷外水密度 t/m3 //public int HullAffect; // 船壳计入方式 ,调整到Shell表格 20161024 by czb //public double HullAffectCoef; // 船壳系数/平均板厚 mm ,调整到Shell表格 20161024 by czb std::vector Trims; // 静水力计算纵倾数据表,m,0为第一个 double AngleEvalMax = 0.0; // 角度曲线、稳性曲线最大计算横倾角 deg double AngleEvalInterval = 0.0; // 角度曲线、稳性曲线横倾角计算间隔 deg // #endregion // #region 完整稳性、破损稳性、许用重心高度 std::string ShipType; // 船舶类型 //public int ChildType; // 船舶子类 bool IsSelfNav = false; // 自航船 bool IsHighspeed = false; //高速船,20190225增加高速船项 added by czb bool IsBox = false; // 箱型船体 bool IsDoubleDeck = false; // 双甲板船 20201214 by czb 远洋渔船 /// /// 航区, A、B、C、T(特定航线江海直达)、U(无限/远洋Unrestricted)、G(近海Greater Coastal)、C(沿海Coastal)、S(遮蔽Sheltered) /// std::string NavArea; // 航区 int NavSeg = 0; // 航段 double Vm = 0.0; // 最大航速 m/s bool IsFullWindScale = false; // 非满实受风面积按满实面积取 //public double FullWindScaleArea; // 非满实面积相对满实面积比值,20160801删除此输入参数 //public double FullWindScaleMoment; // 非满实面积静矩相对满实面积静矩比值,20160801删除此输入参数 std::string ProfileYList; // 侧投影计算纵剖面列表,分号、冒号、逗号、空格作为分隔符,20160912新增 std::vector ProfileY; // 侧投影计算纵剖面列表,20160912新增 double BilgeKeelArea = 0.0; // 舭龙骨总面积 m2 int BilgeType = 0; // 舭部型式 double BilgeC2 = 0.0; // 舭部系数C2 double BilgeC3 = 0.0; // 舭部系数C3 double BilgeC4 = 0.0; // 舭部系数C4 bool HasMudHold = false; // 设有泥舱 double StaticAngleReq = 0.0; // 正常作业许用极限静倾角 deg bool IsStaticAngleReturnTest = false; // 实船试验确定回航极限静倾角, 20190405 added by czb double TankCapStep = 0.0; //舱容曲线计算步长 20190601 added by czb double RollingPeriod = 0.0; // 渔船横摇周期 20201214 by czb 远洋渔船,如为Double.NaN,则软件自动按法规的近似公式计算 double RollingAngle = 0.0; // 渔船横摇角 20201214 by czb 远洋渔船 //public string CriteriaFactor; // 衡准因素 std::string IntactRemark; // 完整稳性备注,20170601 by czb double Vd = 0.0; // //cqr-20190302 高速船报告输出 代码改1 // #endregion // #region 概率破损稳性 //20210803 by czb double Ls_p = 0.0; //分舱长度 double Xa_p = 0.0; //分舱长度尾端点X坐标 double Bs_p = 0.0; //最深水线船宽 // #endregion // #region 倾斜试验 /// /// 倾斜试验水域舷外水密度 /// double IncliningDensity = 0.0; /// /// 原始纵倾,deg /// double AT = 0.0; /// /// 倾斜试验初始横倾,deg /// double IncliningAH0 = 0.0; /// /// 倾斜试验移动重量组数 /// int IncliningMobileWeightNo = 0; /// /// 倾斜试验横倾测量设备类型 /// 1-挂摆;2-两端读数U型管;3-一端读数U型管;4-倾斜仪 /// int IncliningDeviceType = 0; /// /// 倾斜试验横倾测量设备组数 /// 1~5 /// int IncliningDeviceNo = 0; /// /// 倾斜试验读数记录次数 /// 0~9 /// int IncliningRecordNo = 0; /// /// 倾斜试验倾角算法 /// 1-相对法;2-绝对法 /// int IncliningAngleAlgorithm = 0; /// /// 倾斜试验实测初稳性高算法 /// 1-最小二乘法;2-算数平均法 /// int IncliningGMAlgorithm = 0; // #endregion }; /* /// /// 船舶类型 /// 内法规:1-客船;2-干货船;3-液货船;4-推拖船;5-消防船;6-集装箱船;7-起重船;8-挖泥船;9-趸船 /// 特定航线法规:101-散货船,102-集装箱船, 103-商品汽车滚装船 20180604 added by czb /// 远洋渔船法规:201-普通渔船;202-桁拖网渔船;203-罩网船;204-笼捕船 20201214 added by czb /// enum class ShipType { PassengerShip = 1, DryCargoShip = 2, Tanker = 3, Tug = 4, FireBoat = 5, ContainerShip = 6, CraneShip = 7, Dredger = 8, Pontoon = 9, T_BulkcargoShip = 101, //江海直达散货船 T_ContainerShip = 102, //江海直达集装箱船 T_RoRoShip = 103, //江海直达商品汽车滚装船 O_GeneralFisher = 201, //远洋普通渔船 O_TrussTrawler = 202, //远洋桁拖网渔船 O_NetFisher = 203, //远洋罩网船 O_CageFisher = 204 //远洋笼捕船 }; /// /// 船舶子类 /// 0-无;101-静倾受限型客船;102-漓江游览船;111-水翼船;112-全垫升气垫船;113-水面效应船;201-散装水泥船;301-浮油回收船 /// 701-旋转吊臂式起重船;702-固定吊臂式起重船;703-打桩船;704-旋转输送臂自卸砂船 /// 801-绞吸式挖泥船;802-耙吸式挖泥船;803-链斗式挖泥船;804-抓斗式挖泥船 /// enum class ChildShipType { None = 0, LimitedPassengerShip = 101, LijiangCruiseShip = 102, //20200428 by czb,added 漓江游览船 HydrofoilShip = 111, //cqr-20190302 高速船,水翼船 AirCushionCraft = 112, //全垫升气垫船 SurfaceEffectCraft = 113, //水面效应船 BulkCementShip = 201, OilRecoveryShip = 301, //20200428 by czb, added 浮油回收船 RotatableArm_CraneShip = 701, FixedArm_CraneShip = 702, PilingShip = 703, RotatableArm_SelfunloadingShip = 704, CutterSuction_Dredger = 801, //绞吸式挖泥船 TrailingSuction_Dredger = 802, //耙吸式挖泥船 ChainBucket_Dredger = 803, //链斗式挖泥船 Grab_Dredger = 804 //抓斗式挖泥船 }; */ /// /// 航段 /// 0-无;1-J1;2-J2 /// /* enum NavSeg { None = 0, J1 = 1, J2 = 2 }; */ /// /// -1-尾垂线;0-船舯;1-船首 /// enum XOriginType { Stern = -1, Amidship = 0, Bow = 1 }; /// /// 空船重量类型 /// 1-船体结构;2-木作舾装;3-机电设备;4-固定压载 /// enum LwtType { Structure = 1, Outfittin = 2, Equipment = 3, FixedBallast = 4 }; /// /// 装载重量类型 /// 20161118 by czb,0-其他;1-压载水;2-油水 /// enum LoadWeightType // 0-其他;1-干货;2-液货;3-压载水;4-油水 { Other = 0, DryCargo = 1, LiquidCargo = 2, BallastWater = 3, Oil_Water = 4 }; ///// ///// 舱室类型 ///// 0-其他;1-储物处所;2-机器处所;3-空舱处所;4-起居处所;5-干货处所;6-液体处所 ///// //public enum CompartmentType //{ // Other = 0, // StorageSpace = 1, // MachinerySpace = 2, // EmptySpace = 3, // LivingSpace = 4, // DryCargoSpace = 5, // Tank = 6 //} /// /// 舱室类型 /// 0-其他;1-储物处所;2-机器处所;3-空舱处所;4-起居处所;5-散货舱;6-集装箱货舱;7-滚装处所;8-杂货舱;9-其他干货舱; /// 10-压载舱;11-燃油舱;12-柴油舱;13-滑油舱;14-淡水舱;15-液货舱;16-其他液舱;17-鱼货处所 /// /* enum CompartmentType { Other = 0, StorageSpace = 1, MachinerySpace = 2, EmptySpace = 3, LivingSpace = 4, BulkSpace = 5, ContainerSpace = 6, ROROSpace = 7, GeneralCargoSpace = 8, OtheDryCargoSpace = 9, BallastTank = 10, FueloilTank = 11, DieseloilTank = 12, LubricatingoilTank = 13, FreshwaterTank = 14, CargoTank = 15, //液货舱 OtherTank = 16, FishCargo = 17 //鱼货处所, 20201214 by czb add }; */ /// /// 受风项类型 /// 0-其他;1-加网栏杆;2-无网栏杆;3-桁架结构;4-横桁和索具;5-圆剖面物体;6-起吊物体;7-货物;8-网具 /// /* enum WindType { Other = 0, NettingRail = 1, CommonRail = 2, TrussStructure = 3, Spar_Rig = 4, CircularSectionObject = 5, LiftingObject = 6, Cargo = 7, Net = 8 //20201214 by czb, 远洋渔船 }; */ /// /// 校核状态 /// 1-航行/停泊;2-作业;3-避风;4-装卸 /// enum CheckState { Sailing = 1, Working = 2, Safing = 3, Loading = 4, Immersion = 5 // 增加浸水工况, cqr-20170725 }; /// /// 衡准因素 /// 1-突风;2-集舷;3-散货;0-自定义力矩 /// 增加4-甲板货 , cqr-20170725 /// enum CriteriaFactor { CustomMoment = 0, GustWind = 1, FocusSide = 2, BulkSlip = 3, DeckCargo = 4 }; /// /// 倾斜试验设备类型 /// 1-挂摆;2-两端读数U型管;3-一端读数U型管;4-倾斜仪 /// enum IncliningDeviceType { HangingPendulum = 1, U_Tube_2 = 2, U_Tube_1 = 3, Clinometer = 4 }; /// /// 倾斜试验倾角算法 /// 1-相对法;2-绝对法 /// enum IncliningAngleAlgorithm { Relative = 1, Absolute = 2 }; /// /// 实测初稳性高算法 /// 1-最小二乘法;2-算数平均法 /// enum IncliningGMAlgorithm { LeastSquare = 1, ArithmeticMean = 2 }; /* /// /// 稳性衡准标准 /// enum class StabCrRule //20180701 modified by czb, 从Interface类搬移到该处 { CN_IS_2011 = 1, //内法规2011 CN_IS_2015 = 2, //内法规2015 CN_IS_2016 = 3, //内法规2016 CN_IS_2018 = 4, //内法规2018 //20190705 added by czb CN_IS_2019 = 5, //内法规2019 //20200428 by czb,added CN_IB_2009 = 101, //内河散化船法规2009 CN_IC_2009 = 201, //内河液化船法规2009 CN_RS_2018 = 1001, //特定航线江海直达2018 //20180701 added by czb CN_OF_2019 = 2001 //远洋渔船法规2019 //20201214 added by czb }; */ /// /// 概率破损工况类型 /// enum DamcaseProbType { Deepest = 0, //最深吃水 PartLoad = 1, // 部分装载吃水 LightLoad = 2 // 轻载吃水 };