Package org.opentrafficsim.core.object
Class StaticObject
java.lang.Object
org.djutils.event.LocalEventProducer
org.opentrafficsim.core.object.StaticObject
- All Implemented Interfaces:
Serializable
,Remote
,nl.tudelft.simulation.dsol.animation.Locatable
,org.djutils.base.Identifiable
,org.djutils.event.EventProducer
,OtsLocatable
,Drawable
,LocatedObject
public class StaticObject
extends org.djutils.event.LocalEventProducer
implements LocatedObject, Drawable
A static object with a height that a GTU might have to avoid, or which can cause occlusion for perception. All objects are
potential event producers, which allows them to signal that their state has changed.
Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
-
Field Summary
Fields inherited from interface org.djutils.event.EventProducer
FIRST_POSITION, LAST_POSITION
-
Constructor Summary
ModifierConstructorDescriptionprotected
StaticObject
(String id, org.djutils.draw.point.OrientedPoint2d location, org.djutils.draw.line.PolyLine2d geometry, org.djunits.value.vdouble.scalar.Length height) -
Method Summary
Modifier and TypeMethodDescriptionstatic StaticObject
Make a static object with zero height and carry out the initialization after it has been fully created.static StaticObject
create
(String id, org.djutils.draw.line.Polygon2d geometry, org.djunits.value.vdouble.scalar.Length height) Make a static object and carry out the initialization after it has been fully created.org.djutils.draw.line.PolyLine2d
final org.djunits.value.vdouble.scalar.Length
final String
getId()
org.djutils.draw.point.OrientedPoint2d
protected void
init()
Initialize the object after it has been fully created.toString()
Methods inherited from class org.djutils.event.LocalEventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, getEventListenerMap, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListener
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.djutils.event.EventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, getEventListenerMap, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListener
Methods inherited from interface nl.tudelft.simulation.dsol.animation.Locatable
getDirZ, getZ
-
Constructor Details
-
StaticObject
protected StaticObject(String id, org.djutils.draw.point.OrientedPoint2d location, org.djutils.draw.line.PolyLine2d geometry, org.djunits.value.vdouble.scalar.Length height) - Parameters:
id
- String; the idlocation
- OrientedPoint2d; location.geometry
- PolyLine2d; the top-level 2D outline of the objectheight
- Length; the height of the object
-
-
Method Details
-
init
Initialize the object after it has been fully created.- Throws:
NetworkException
- e.g. on error registering the object in the network
-
create
public static StaticObject create(String id, org.djutils.draw.line.Polygon2d geometry, org.djunits.value.vdouble.scalar.Length height) throws NetworkException Make a static object and carry out the initialization after it has been fully created.- Parameters:
id
- String; the idgeometry
- Polygon2d; the top-level 2D outline of the objectheight
- Length; the height of the object- Returns:
- the static object
- Throws:
NetworkException
- e.g. on error registering the object in the network
-
create
public static StaticObject create(String id, org.djutils.draw.line.Polygon2d geometry) throws NetworkException Make a static object with zero height and carry out the initialization after it has been fully created.- Parameters:
id
- String; the idgeometry
- Polygon2d; the top-level 2D outline of the object- Returns:
- the static object
- Throws:
NetworkException
- e.g. on error registering the object in the network
-
getGeometry
public org.djutils.draw.line.PolyLine2d getGeometry()- Specified by:
getGeometry
in interfaceLocatedObject
- Returns:
- the outline geometry of the object.
-
getHeight
public final org.djunits.value.vdouble.scalar.Length getHeight()- Specified by:
getHeight
in interfaceLocatedObject
- Returns:
- the height of the object (can be Length.ZERO).
-
getId
- Specified by:
getId
in interfaceorg.djutils.base.Identifiable
-
getFullId
- Specified by:
getFullId
in interfaceLocatedObject
- Returns:
- the full id that makes the id unique in the network.
-
getLocation
public org.djutils.draw.point.OrientedPoint2d getLocation()- Specified by:
getLocation
in interfacenl.tudelft.simulation.dsol.animation.Locatable
- Specified by:
getLocation
in interfaceOtsLocatable
-
getBounds
- Specified by:
getBounds
in interfacenl.tudelft.simulation.dsol.animation.Locatable
- Specified by:
getBounds
in interfaceOtsLocatable
-
toString
-