X-Git-Url: https://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Fdata%2FTrack.java;h=c56f9f5bcc08cba3c65096fca6299c3aafb1f103;hp=45810e2ef9e4b7ba1a036f423962cecc8a87d5a5;hb=a6197ddcaac11c0b943183da7d46169742d024af;hpb=88f2c3647ed9e055090484f01a959d4581f85e7d diff --git a/tim/prune/data/Track.java b/tim/prune/data/Track.java index 45810e2..c56f9f5 100644 --- a/tim/prune/data/Track.java +++ b/tim/prune/data/Track.java @@ -87,6 +87,11 @@ public class Track _dataPoints[pointIndex] = point; pointIndex++; } + else + { + // TODO: Maybe report this somehow? + // System.out.println("point is not valid!"); + } } _numPoints = pointIndex; // Set first track point to be start of segment @@ -363,61 +368,6 @@ public class Track } - /** - * Collect all waypoints to the start or end of the track - * @param inAtStart true to collect at start, false for end - * @return true if successful, false if no change - */ - public boolean collectWaypoints(boolean inAtStart) - { - // Check for mixed data, numbers of waypoints & nons - int numWaypoints = 0, numNonWaypoints = 0; - boolean wayAfterNon = false, nonAfterWay = false; - DataPoint[] waypoints = new DataPoint[_numPoints]; - DataPoint[] nonWaypoints = new DataPoint[_numPoints]; - DataPoint point = null; - for (int i=0; i<_numPoints; i++) - { - point = _dataPoints[i]; - if (point.isWaypoint()) - { - waypoints[numWaypoints] = point; - numWaypoints++; - wayAfterNon |= (numNonWaypoints > 0); - } - else - { - nonWaypoints[numNonWaypoints] = point; - numNonWaypoints++; - nonAfterWay |= (numWaypoints > 0); - } - } - // Exit if the data is already in the specified order - if (numWaypoints == 0 || numNonWaypoints == 0 - || (inAtStart && !wayAfterNon && nonAfterWay) - || (!inAtStart && wayAfterNon && !nonAfterWay)) - { - return false; - } - - // Copy the arrays back into _dataPoints in the specified order - if (inAtStart) - { - System.arraycopy(waypoints, 0, _dataPoints, 0, numWaypoints); - System.arraycopy(nonWaypoints, 0, _dataPoints, numWaypoints, numNonWaypoints); - } - else - { - System.arraycopy(nonWaypoints, 0, _dataPoints, 0, numNonWaypoints); - System.arraycopy(waypoints, 0, _dataPoints, numNonWaypoints, numWaypoints); - } - // needs to be scaled again - _scaled = false; - UpdateMessageBroker.informSubscribers(); - return true; - } - - /** * Interleave all waypoints by each nearest track point * @return true if successful, false if no change