More track data.
[utils] / gps / src / main / java / org / wamblee / gps / track / Track.java
index bbe14b92d3ef9f45a446f3095cf01af47aa8c130..a710a68cb2517053e9a2b2249088f395c157170e 100644 (file)
@@ -1,87 +1,8 @@
-/*
- * Copyright 2006 the original author or authors.
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */ 
-
 package org.wamblee.gps.track;
 
-import java.io.Serializable;
-import java.util.ArrayList;
 import java.util.List;
 
-import org.wamblee.gps.geometry.Point;
+public interface Track extends TrackSegment {
 
-/**
- * Represents a GPS track. 
- *
- * @author Erik Brakkee
- */
-public class Track implements Serializable {
-    
-    private List<TrackPoint> _points; 
-    
-    /**
-     * Constructs an empty track. 
-     *
-     */
-    public Track() { 
-        _points = new ArrayList<TrackPoint>();
-    }
-    
-    /**
-     * Adds a point to a track. 
-     * @param aPoint Point. 
-     */
-    public void addPoint(TrackPoint aPoint) { 
-        _points.add(aPoint);
-    }
-    
-    /**
-     * @return Number of points in the track. 
-     */
-    public int size()  { 
-        return _points.size(); 
-    }
-    
-    public double getMinCoordinate(int i) {
-        if ( size() == 0 ) { 
-            throw new IllegalArgumentException("empty track");
-        }
-        double min = getPoint(0).getCoordinates().getX(i);
-        for (int j = 1; j < size(); j++) { 
-            min = Math.min(min, getPoint(j).getCoordinates().getX(i));
-        }
-        return min;
-    }
-    
-    public double getMaxCoordinate(int i) {
-        if ( size() == 0 ) { 
-            throw new IllegalArgumentException("empty track");
-        }
-        double max = getPoint(0).getCoordinates().getX(i);
-        for (int j = 1; j < size(); j++) { 
-            max = Math.max(max, getPoint(j).getCoordinates().getX(i));
-        }
-        return max;
-    }
-    
-    /**
-     * Gets the point at the given inded. 
-     * @param aIndex 0 &lt;= aIndex &lt; size()
-     * @return Point.
-     */
-    public Point getPoint(int aIndex) { 
-        return _points.get(aIndex);
-    }
+    List<TrackSegment> getSegments();
 }