|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.bbn.openmap.tools.roads.RoadFinder
Gives road access to a shape or vpf layer.
Nested Class Summary | |
protected class |
RoadFinder.BlueLine
a blue line to indicate the found route |
static class |
RoadFinder.Intersections
|
protected class |
RoadFinder.RedPoint
a red point for displaying when we can't find a route between two points |
static class |
RoadFinder.RoadClasses
|
protected class |
RoadFinder.YellowLine
a yellow line for display routes between intersections |
protected class |
RoadFinder.YellowPoint
a yellow point for displaying intersections |
Field Summary | |
protected RoadClass |
defaultRoadClass
|
protected java.util.Map |
graphicToRoad
|
protected float |
halo
how far (in lat-lon space) from lat,lon point to look in quad tree for nearest road * |
protected QuadTree |
interQuadTree
|
protected RoadFinder.Intersections |
intersections
|
protected LayerView |
layer
|
protected java.util.Vector |
removedRoads
|
protected RoadFinder.RoadClasses |
roadClasses
|
protected com.bbn.openmap.tools.roads.RoadFinder.RoadVector |
roads
|
Constructor Summary | |
RoadFinder(LayerView layer,
boolean drawIntersections,
boolean drawResults)
|
Method Summary | |
protected void |
checkIntegrity()
Check the integrity of our data structures. |
protected LatLonPoint |
createLatLonPoint(int x,
int y)
|
protected java.awt.Point |
createPoint(java.awt.Point pt)
Allows subclasses to redefine points returned |
Road |
createRoad(Intersection from)
called from Intersection Implemented for RoadLayer interface |
protected Road |
createRoad(int id,
java.lang.String name,
Intersection from,
Intersection to,
RoadClass cl_ss)
|
protected RoadObject |
createRoadFromPoints(int id,
int[] xpoints,
int[] ypoints,
int nPoints)
Makes a road object given the points on the shape that are within the visible box |
protected Segment |
createSegment(java.util.List newPoints)
Allows subclasses to redefine segments |
protected void |
deleteIntersection(Intersection intersection)
|
void |
deleteRoad(Road road)
|
protected Intersection |
findClosestIntersection(int x,
int y)
Look in intersection Quad Tree for closest intersection to point x,y |
protected Intersection |
findIntersection(int x,
int y)
|
protected Intersection |
findIntersection(LatLonPoint loc)
|
protected Intersection |
findIntersection(LatLonPoint loc,
java.lang.String name)
|
RoadClass |
findRoadClass(java.lang.Object className)
|
int |
findUnusedRoadID()
|
protected void |
getData()
Take the shape data on the layer and use it to populate our roads and intersections. |
java.util.List |
getPathOnRoad(java.awt.Point start,
java.awt.Point end,
java.util.List segments)
The main public method! find closest intersection to start and end find path from start intersection to end intersection |
protected Segment |
getPathSegment(Projection proj,
Road road,
boolean reverse)
Converts a road into a path segment - reverse parameter guarantees the ordering of the points is consistent across multiple path segments in the whole route. |
Projection |
getProjection()
|
protected void |
getRoads()
Take the shape data on the layer and use it to populate our roads and intersections. |
Route |
getRouteBetweenPoints(java.awt.Point start,
java.awt.Point end)
get Route between two points |
protected void |
initRoadClasses()
|
protected java.awt.Point |
interp(double x1,
double y1,
double x2,
double y2,
int width,
int height)
find a point between x1,y1 and x2, y2 that is within the visible map |
boolean |
isEditing()
BOZO remove me |
void |
joinRoads(Intersection intersection)
Join two roads into one. |
protected void |
makeRoad(java.awt.Shape shape,
OMGeometry graphic,
int num,
int[] xPoints,
int[] yPoints,
int segment)
Makes a road object given the points on the shape that are within the visible box Stores it in a quadTree |
protected java.lang.String |
mergeRoadNames(java.lang.String name0,
java.lang.String name1)
|
protected void |
populatePointsAndSegments(Route bestRoute,
java.util.List newPoints,
java.util.List segments)
Iterates over route, populating points and segments lists. |
void |
projectionChanged(ProjectionEvent e)
Implemented for ProtectionListener |
Intersection |
splitRoad(Road road,
RoadPoint rp)
Split a road into two roads at one of its corners. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected RoadFinder.RoadClasses roadClasses
protected RoadClass defaultRoadClass
protected LayerView layer
protected RoadFinder.Intersections intersections
protected com.bbn.openmap.tools.roads.RoadFinder.RoadVector roads
protected java.util.Vector removedRoads
protected float halo
protected QuadTree interQuadTree
protected java.util.Map graphicToRoad
Constructor Detail |
public RoadFinder(LayerView layer, boolean drawIntersections, boolean drawResults)
Method Detail |
protected void initRoadClasses()
public void projectionChanged(ProjectionEvent e)
projectionChanged
in interface ProjectionListener
e
- ProjectionEventprotected void getData() throws java.lang.Exception
java.lang.Exception
protected void getRoads() throws java.lang.Exception
java.lang.Exception
protected java.awt.Point interp(double x1, double y1, double x2, double y2, int width, int height)
width
- of visible mapheight
- of visible map
protected void makeRoad(java.awt.Shape shape, OMGeometry graphic, int num, int[] xPoints, int[] yPoints, int segment)
protected RoadObject createRoadFromPoints(int id, int[] xpoints, int[] ypoints, int nPoints)
nPoints
- in the xpoints and ypoints arraysprotected LatLonPoint createLatLonPoint(int x, int y)
protected Intersection findIntersection(LatLonPoint loc, java.lang.String name)
protected Intersection findIntersection(int x, int y)
protected Intersection findIntersection(LatLonPoint loc)
protected void deleteIntersection(Intersection intersection)
public Road createRoad(Intersection from)
createRoad
in interface RoadLayer
protected Road createRoad(int id, java.lang.String name, Intersection from, Intersection to, RoadClass cl_ss)
public void deleteRoad(Road road)
public Intersection splitRoad(Road road, RoadPoint rp)
public void joinRoads(Intersection intersection)
protected java.lang.String mergeRoadNames(java.lang.String name0, java.lang.String name1)
public RoadClass findRoadClass(java.lang.Object className)
public int findUnusedRoadID()
public java.util.List getPathOnRoad(java.awt.Point start, java.awt.Point end, java.util.List segments)
start
- from start point on mapend
- to end point on mapsegments
- as side effect, populated with PathSegments
between returned WayPoints
com.bbn.apa.genome.WayPoint
public Route getRouteBetweenPoints(java.awt.Point start, java.awt.Point end)
protected Intersection findClosestIntersection(int x, int y)
protected void populatePointsAndSegments(Route bestRoute, java.util.List newPoints, java.util.List segments)
segments
- populated with Segmentsprotected Segment getPathSegment(Projection proj, Road road, boolean reverse)
protected Segment createSegment(java.util.List newPoints)
protected java.awt.Point createPoint(java.awt.Point pt)
public Projection getProjection()
getProjection
in interface RoadLayer
protected void checkIntegrity()
public boolean isEditing()
isEditing
in interface RoadLayer
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |