001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.gpx;
003
004import java.util.Collection;
005
006import org.openstreetmap.josm.data.Bounds;
007
008/**
009 * Read-only gpx track segments. Implementations doesn't have to be immutable, but should always be thread safe.
010 *
011 */
012public interface GpxTrackSegment {
013
014    Bounds getBounds();
015
016    Collection<WayPoint> getWayPoints();
017
018    double length();
019
020    /**
021     *
022     * @return Number of times this track has been changed. Always 0 for read-only segments
023     */
024    int getUpdateCount();
025}