public virtual RobotData getRobotData(TimePoint timePoint) { int i = Arrays.binarySearch(timePoints, timePoint); if (i < 0) { return(RobotData.createEmptyData(name)); } else { return(createDataUpToTimePoint(i)); } }
private RobotData createDataUpToTimePoint(int i) { IList <double []> list = new List <double []>(); foreach (double[] original in values) { double[] copy = copyReverseArray(original, i); list.Add(copy); } try { double?futureChange = calculateFutureChange(timePoints[i]); return(RobotData.createData(list, name, futureChange.Value)); } catch (NoDataForTimePointException) { return(RobotData.createEmptyData(name)); } }