private bool AddPoint(GpsPoint point) { if (point == null) { return(false); } // first point added by default if (filteredTrack.PointCount == 0) { filteredTrack.AddPoint(point); return(true); } // check to see if teh maximum time has elapsed, if so add the point no matter what the distance else if (point.Time - filteredTrack.Points.Last().Time > maxTimeSeconds) { filteredTrack.AddPoint(point); return(true); } // finally only add teh point if the min distance is exceeded else if (TimeDistanceFilter.Distance(point, filteredTrack.Points.Last()) > minDistanceMiles) { filteredTrack.AddPoint(point); return(true); } return(false); }