namespace HStation.Service { /// /// 特性曲线辅助类 /// public class PerformCurveHelper { /// /// 获取性能点列表 /// public static List GetFeatPointList(eGraphType graphType, string geometryInfo, int pointNumber = 12, double minSpace = 0.0001) { if (string.IsNullOrEmpty(geometryInfo)) { return default; } List pts = null; switch (graphType) { case eGraphType.QH: { var curveQH = Yw.Pump.CurveQHHelper.ToModel(geometryInfo); if (curveQH != null) { pts = curveQH.FeatCurve.GetPointList(pointNumber, minSpace); } } break; case eGraphType.QP: { var curveQP = Yw.Pump.CurveQPHelper.ToModel(geometryInfo); if (curveQP != null) { pts = curveQP.FeatCurve.GetPointList(pointNumber, minSpace); } } break; case eGraphType.QE: { var curveQE = Yw.Pump.CurveQEHelper.ToModel(geometryInfo); if (curveQE != null) { pts = curveQE.FeatCurve.GetPointList(pointNumber, minSpace); } } break; default: break; } return pts; } /// /// to 存储字符串 /// public static string ToDbString(eGraphType graphType, Yw.Pump.eFeatType featType, List pts) { var dbString = string.Empty; if (pts == null || pts.Count < 1) { return dbString; } Yw.Pump.IFeatCurve featCurve = null; switch (featType) { case Yw.Pump.eFeatType.Polynomial: { featCurve = new Yw.Pump.PolynomialCurve(pts); } break; case Yw.Pump.eFeatType.Cubic: { featCurve = new Yw.Pump.CubicCurve(pts); } break; default: break; } if (featCurve == null || featCurve.IsInvalid()) { return dbString; } switch (graphType) { case eGraphType.QH: { var curveQH = new Yw.Pump.CurveQH(featType, featCurve); dbString = curveQH.ToDbString(); } break; case eGraphType.QP: { var curveQP = new Yw.Pump.CurveQP(featType, featCurve); dbString = curveQP.ToDbString(); } break; case eGraphType.QE: { var curveQE = new Yw.Pump.CurveQE(featType, featCurve); dbString = curveQE.ToDbString(); } break; default: break; } return dbString; } } }