Class MapLaneBasedObjectData
java.lang.Object
org.opentrafficsim.editor.extensions.map.MapData
org.opentrafficsim.editor.extensions.map.MapLaneBasedObjectData
- All Implemented Interfaces:
 Serializable,Remote,EventListener,nl.tudelft.simulation.dsol.animation.Locatable,org.djutils.base.Identifiable,org.djutils.event.EventListener,org.opentrafficsim.base.geometry.OtsLocatable,org.opentrafficsim.base.geometry.SpatialObject,org.opentrafficsim.draw.ClickableLineLocatable,org.opentrafficsim.draw.ClickableLocatable,org.opentrafficsim.draw.road.AbstractLineAnimation.LaneBasedObjectData,EvalWrapper.EvalListener
- Direct Known Subclasses:
 MapGeneratorData,MapSinkData,MapTrafficLightData
public abstract class MapLaneBasedObjectData
extends MapData
implements org.opentrafficsim.draw.road.AbstractLineAnimation.LaneBasedObjectData, org.djutils.event.EventListener
Data class for objects that are drawn at a lane position. Implementations must call setLinkNode() in their constructor or by
 some other dynamic means, or the XSD node must have a Link attribute that points to the XSD node of a link by a keyref. This
 class will listen to attributes Id, Link, Lane and Position, and update visualization as needed. Attributes Id and Link are
 optional.
 
 Copyright (c) 2023-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. 
 BSD-style license. See OpenTrafficSim License.
 
- Author:
 - Wouter Schakel
 - See Also:
 
- 
Field Summary
Fields inherited from interface org.opentrafficsim.draw.ClickableLocatable
EXPANSE - 
Constructor Summary
ConstructorsConstructorDescriptionMapLaneBasedObjectData(EditorMap map, XsdTreeNode node, OtsEditor editor) Constructor. - 
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()Destroy this data object, e.g. remove self as listener.voidNotifies the listener that evaluation results may have changed.org.djutils.draw.bounds.Bounds2dorg.djutils.draw.line.Polygon2dgetId()org.djunits.value.vdouble.scalar.Lengthorg.djutils.draw.line.PolyLine2dgetLine()protected StringReturns an id in the form {linkId}.org.djutils.draw.point.OrientedPoint2dorg.opentrafficsim.base.geometry.OtsShapegetShape()voidnotify(org.djutils.event.Event event) protected voidsetLinkNode(XsdTreeNode linkNode) Sets a node as link.Methods inherited from class org.opentrafficsim.editor.extensions.map.MapData
getEval, getMap, getNode, setInvalid, setValid, setValueMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.opentrafficsim.draw.road.AbstractLineAnimation.LaneBasedObjectData
getZMethods inherited from interface nl.tudelft.simulation.dsol.animation.Locatable
getDirZ 
- 
Constructor Details
- 
MapLaneBasedObjectData
Constructor.- Parameters:
 map- map.node- node.editor- editor.
 
 - 
 - 
Method Details
- 
setLinkNode
Sets a node as link. Sub-classes may call this in their constructor if it is a fixed node. This class will listen to changes in the Link attribute, and set a coupled node as link node if it exists.- Parameters:
 linkNode- link node.
 - 
destroy
public void destroy()Description copied from class:MapDataDestroy this data object, e.g. remove self as listener. Override and call super if subclasses remove their own listeners. Using weak references for listeners is another option to deal with obsolete listening. - 
getLaneWidth
public org.djunits.value.vdouble.scalar.Length getLaneWidth()- Specified by:
 getLaneWidthin interfaceorg.opentrafficsim.draw.road.AbstractLineAnimation.LaneBasedObjectData
 - 
getLocation
public org.djutils.draw.point.OrientedPoint2d getLocation()- Specified by:
 getLocationin interfaceorg.opentrafficsim.draw.road.AbstractLineAnimation.LaneBasedObjectData- Specified by:
 getLocationin interfacenl.tudelft.simulation.dsol.animation.Locatable- Specified by:
 getLocationin interfaceorg.opentrafficsim.base.geometry.OtsLocatable
 - 
getBounds
public org.djutils.draw.bounds.Bounds2d getBounds()- Specified by:
 getBoundsin interfaceorg.opentrafficsim.draw.ClickableLineLocatable- Specified by:
 getBoundsin interfaceorg.opentrafficsim.draw.ClickableLocatable- Specified by:
 getBoundsin interfacenl.tudelft.simulation.dsol.animation.Locatable- Specified by:
 getBoundsin interfaceorg.opentrafficsim.base.geometry.OtsLocatable
 - 
getContour
public org.djutils.draw.line.Polygon2d getContour()- Specified by:
 getContourin interfaceorg.opentrafficsim.base.geometry.SpatialObject
 - 
getShape
public org.opentrafficsim.base.geometry.OtsShape getShape()- Specified by:
 getShapein interfaceorg.opentrafficsim.base.geometry.OtsLocatable
 - 
getLine
public org.djutils.draw.line.PolyLine2d getLine()- Specified by:
 getLinein interfaceorg.opentrafficsim.draw.ClickableLineLocatable
 - 
getId
- Specified by:
 getIdin interfaceorg.djutils.base.Identifiable
 - 
getLinkLanePositionId
Returns an id in the form {linkId}.{laneId}.{id} or {linkId}.{laneId}@{position} if the id is empty.- Returns:
 - id in link/lane/position form.
 
 - 
evalChanged
public void evalChanged()Description copied from interface:EvalWrapper.EvalListenerNotifies the listener that evaluation results may have changed.- Specified by:
 evalChangedin interfaceEvalWrapper.EvalListener
 - 
notify
- Specified by:
 notifyin interfaceorg.djutils.event.EventListener- Throws:
 RemoteException
 
 -