// ********************************************************************** // // <copyright> // // BBN Technologies // 10 Moulton Street // Cambridge, MA 02138 // (617) 873-8000 // // Copyright (C) BBNT Solutions LLC. All rights reserved. // // </copyright> // ********************************************************************** // // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/tools/roads/RoadServices.java,v $ // $RCSfile: RoadServices.java,v $ // $Revision: 1.3 $ // $Date: 2005/08/12 21:47:49 $ // $Author: dietrick $ // // ********************************************************************** package com.bbn.openmap.tools.roads; import java.awt.Point; import java.util.List; import com.bbn.openmap.proj.coords.LatLonPoint; /** * getPathOnRoad interface - any layer that implements this interface * can return a route between two points */ public interface RoadServices { /** * Returns the best Route between a start point and end point. * <p> * * This method works by finding the closest intersection to start and end * points, and then finding a path from start intersection to end intersection. * The method works on screen coordinates. * * @param start - Start point on the map in screen coordinates. * @param end - End point on the map in screen coordinates. * @param segments is populated by road segments, each segment is * a list of points in screen coordinates. * @return a list of points between start and end points in screen coordinates. */ List getPathOnRoad(Point start, Point end, List segments); /** * Returns the best Route between a start point and end point. * <p> * * This method works by finding the closest intersection to start and end * points, and then finding a path from start intersection to end intersection. * The method works in latitude/longitude coordinates. * * @param start - Start point in latitude/longitude coordinates. * @param end - End point in latitude/longitude coordinates. * @return the best route to travel by Road from start to end */ Route getPathOnRoad(LatLonPoint start, LatLonPoint end); /** * Displays a Route between two points on the map. * <p> * * @param start start from start point on map * @param end to end point on map * @param route the Route to travel from start to end * @param segments as side effect, populated with PathSegments * between returned WayPoints * @return List of WayPoints */ List displayPathOnRoad(Point start, Point end, Route route, List segments); }