X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gps%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fgps%2Ftrack%2FTrackImpl.java;fp=gps%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fgps%2Ftrack%2FTrackImpl.java;h=0000000000000000000000000000000000000000;hb=9e3f0e3a7b4a63aaed0c33466c041982dc93b511;hp=ce8e23e3f38ee40917ed8dcc2f746e2d8ac1f459;hpb=2207a1e695ce23e79678c232cff2ceb84ebaa801;p=utils diff --git a/gps/src/main/java/org/wamblee/gps/track/TrackImpl.java b/gps/src/main/java/org/wamblee/gps/track/TrackImpl.java deleted file mode 100644 index ce8e23e3..00000000 --- a/gps/src/main/java/org/wamblee/gps/track/TrackImpl.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.wamblee.gps.track; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.wamblee.gps.geometry.Point; - -public class TrackImpl implements Track, Serializable { - - private String _description; - private List _segments; - - public TrackImpl(String aDescription) { - _description = aDescription; - _segments = new ArrayList(); - } - - public void addSegment(TrackSegment aSegment) { - _segments.add(aSegment); - } - - @Override - public String getDescription() { - return _description; - } - - @Override - public Point getPoint(int aIndex) { - int localIndex = aIndex; - Iterator i = _segments.iterator(); - while (i.hasNext()) { - TrackSegment segment = i.next(); - if ( localIndex < segment.size() ) { - return segment.getPoint(localIndex); - } - localIndex -= segment.size(); - } - throw new IndexOutOfBoundsException("" + aIndex); - } - - @Override - public double getMinCoordinate(int i) { - if ( size() == 0 ) { - throw new IllegalArgumentException("empty track"); - } - double result = Double.MAX_VALUE; - for (TrackSegment segment: _segments) { - if ( segment.size() > 0 ) { - result = Math.min(result, segment.getMinCoordinate(i)); - } - } - return result; - } - - @Override - public double getMaxCoordinate(int i) { - if ( size() == 0 ) { - throw new IllegalArgumentException("empty track"); - } - double result = Double.MIN_VALUE; - for (TrackSegment segment: _segments) { - if ( segment.size() > 0 ) { - result = Math.max(result, segment.getMaxCoordinate(i)); - } - } - return result; - } - - @Override - public List getSegments() { - return _segments; - } - - @Override - public int size() { - int result = 0; - for (TrackSegment segment: _segments) { - result += segment.size(); - } - return result; - } -}