// **********************************************************************
//
// <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/RoadPoint.java,v
// $
// $RCSfile: RoadPoint.java,v $
// $Revision: 1.2 $
// $Date: 2004/10/14 18:06:28 $
// $Author: dietrick $
//
// **********************************************************************
package com.bbn.openmap.tools.roads;
import com.bbn.openmap.omGraphics.OMGraphicList;
import com.bbn.openmap.proj.coords.LatLonPoint;
public class RoadPoint extends Waypoint implements RoadObject {
private Road road;
public RoadPoint(Road road, LatLonPoint loc, RoadLayer layer) {
super(loc, layer);
this.road = road;
}
public RoadPoint(Road road, Intersection intersection) {
super(intersection.location, intersection.layer);
this.road = road;
}
public static Class getGraphicClass() {
return Graphic.class;
}
public Road getRoad() {
return road;
}
public void delete() {
road.deleteRoadPoint(this);
}
public void update() {
super.update();
road.updateLines();
}
public void render(OMGraphicList gl, boolean forceNew) {
RoadGraphic visual = getVisual();
if (visual == null || forceNew) {
visual = new Graphic();
setVisual(visual);
}
gl.add((Graphic) visual);
}
public class Graphic extends Waypoint.Graphic {
public Graphic() {
super(2);
}
public RoadObject getRoadObject() {
return getRoadPoint();
}
public RoadPoint getRoadPoint() {
return RoadPoint.this;
}
}
public String toString() {
return "RoadPoint on road " + road + ", " + super.toString();
}
}