namespace HStation.Service
|
{
|
/// <summary>
|
/// 特性曲线辅助类
|
/// </summary>
|
public class PerformCurveHelper
|
{
|
|
/// <summary>
|
/// 获取性能点列表
|
/// </summary>
|
public static List<Yw.Geometry.Point2d> GetFeatPointList(eGraphType graphType, string geometryInfo, int pointNumber = 12, double minSpace = 0.0001)
|
{
|
if (string.IsNullOrEmpty(geometryInfo))
|
{
|
return default;
|
}
|
List<Yw.Geometry.Point2d> 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;
|
}
|
|
/// <summary>
|
/// to 存储字符串
|
/// </summary>
|
public static string ToDbString(eGraphType graphType, Yw.Pump.eFeatType featType, List<Yw.Geometry.Point2d> 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;
|
}
|
|
|
|
}
|
}
|