public void UpdatePointValue(string pointName, params double[] valueList) { PointStorage point = GetPoint(pointName); if (point != null) { point.AddRobotPoint(valueList); } }
public PointStorage GetPoint(string pointName, string[] dimensionNames, double[] defaultValues) { if (!points.Contains(pointName)) { CreatePoint(pointName, 10, dimensionNames); GetPoint(pointName).AddRobotPoint(defaultValues); Save(); } else { if (((PointStorage)points[pointName]).Dimension != dimensionNames.Length) { PointStorage oldPoint = (PointStorage)points[pointName]; // remove old point from list points.Remove(pointName); // create new point CreatePoint(pointName, 10, dimensionNames); PointStorage newPoint = GetPoint(pointName); // copy old values to new point for (int j = oldPoint.History.Count - 1; j >= 0; j--) { RobotPoint p = (RobotPoint)oldPoint.History[j]; double[] val = new double[newPoint.Dimension]; for (int i = 0; i < val.Length; i++) { if (i < p.Coordinate.Length) { val[i] = p.Coordinate[i]; } else { val[i] = defaultValues[i]; } } newPoint.AddRobotPoint(val); } Save(); } } return((PointStorage)points[pointName]); }