public GaussianParametricInterpolation(PointPairList inputPoints, double alpha, ParametricType type) : base(inputPoints, alpha) { Type = type; Name += type.ToString(); XTArray = new PointPairList(); YTArray = new PointPairList(); if (type == ParametricType.Normal) { for (int i = 0; i < inputPoints.Count; i++) { XTArray.Add(new PointPair(i, inputPoints[i].X)); // fill Xt(t) YTArray.Add(new PointPair(i, inputPoints[i].Y)); // fill Yt(t) } } else if (type == ParametricType.Summary) { double previousT = 0; XTArray.Add(new PointPair(previousT, inputPoints[0].X)); // fill Xt[0](t) YTArray.Add(new PointPair(previousT, inputPoints[0].Y)); // fill Y[0](t) for (int i = 1; i < inputPoints.Count; i++) { PointPair prevPoint = inputPoints[i - 1]; PointPair currPoint = inputPoints[i]; previousT += distanceBetween(prevPoint, currPoint); XTArray.Add(new PointPair(previousT, inputPoints[i].X)); // fill Xt(t) YTArray.Add(new PointPair(previousT, inputPoints[i].Y)); // fill Y(t) } } TMin = XTArray.First().X; TMax = XTArray.Last().X; }
private static string Id(ParametricType type, int id) { return(string.Concat(type == ParametricType.Value ? "V" : type == ParametricType.ListValue ? "L" : "M", id)); }
public ParametricValue ParametricValue(ParametricType type, int id, string cultureCode) { return(Lookup <string, ParametricValue, ParametricValuesLookup>(DataSet.ParametricValues, Id(type, id), cultureCode)); }