Package org.opentrafficsim.core.object
Class StaticObject
java.lang.Object
org.djutils.event.EventProducer
org.opentrafficsim.core.object.StaticObject
- All Implemented Interfaces:
java.io.Serializable
,Locatable
,EventProducerInterface
,Identifiable
,Drawable
,ObjectInterface
public class StaticObject extends EventProducer implements ObjectInterface, java.io.Serializable, Identifiable, 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-2020 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:
- Serialized Form
-
Field Summary
Fields inherited from interface org.djutils.event.EventProducerInterface
FIRST_POSITION, LAST_POSITION
-
Constructor Summary
Constructors Modifier Constructor Description protected
StaticObject(java.lang.String id, OTSLine3D geometry, Length height)
-
Method Summary
Modifier and Type Method Description StaticObject
clone(Network newNetwork, SimulatorInterface.TimeDoubleUnit newSimulator, boolean animation)
Clone the StaticObject for e.g., copying a network.static StaticObject
create(java.lang.String id, OTSLine3D geometry)
Make a static object with zero height and carry out the initialization after it has been fully created.static StaticObject
create(java.lang.String id, OTSLine3D geometry, Length height)
Make a static object and carry out the initialization after it has been fully created.javax.media.j3d.Bounds
getBounds()
java.lang.String
getFullId()
OTSLine3D
getGeometry()
Length
getHeight()
java.lang.String
getId()
DirectedPoint
getLocation()
java.io.Serializable
getSourceId()
protected void
init()
Initialize the object after it has been fully created.java.lang.String
toString()
Methods inherited from class org.djutils.event.EventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, getEventTypesWithListeners, 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.EventProducerInterface
addListener, addListener, addListener, addListener, getEventTypesWithListeners, hasListeners, numberOfListeners, removeListener
-
Constructor Details
-
StaticObject
- Parameters:
id
- String; the idgeometry
- OTSLine3D; 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(java.lang.String id, OTSLine3D geometry, Length height) throws NetworkExceptionMake a static object and carry out the initialization after it has been fully created.- Parameters:
id
- String; the idgeometry
- OTSLine3D; 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
Make a static object with zero height and carry out the initialization after it has been fully created.- Parameters:
id
- String; the idgeometry
- OTSLine3D; 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
- Specified by:
getGeometry
in interfaceObjectInterface
- Returns:
- the outline geometry of the object.
-
getHeight
- Specified by:
getHeight
in interfaceObjectInterface
- Returns:
- the height of the object (can be Length.ZERO).
-
getId
public final java.lang.String getId()- Specified by:
getId
in interfaceIdentifiable
-
getFullId
public java.lang.String getFullId()- Specified by:
getFullId
in interfaceObjectInterface
- Returns:
- the full id that makes the id unique in the network.
-
getLocation
- Specified by:
getLocation
in interfaceLocatable
-
getBounds
public javax.media.j3d.Bounds getBounds() -
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-
clone
public StaticObject clone(Network newNetwork, SimulatorInterface.TimeDoubleUnit newSimulator, boolean animation) throws NetworkExceptionClone the StaticObject for e.g., copying a network.- Parameters:
newNetwork
- Network; the new network to which the clone belongsnewSimulator
- SimulatorInterface.TimeDoubleUnit; the new simulator for this networkanimation
- boolean; whether to (re)create animation or not- Returns:
- a clone of this object
- Throws:
NetworkException
- in case the cloning fails
-
getSourceId
public java.io.Serializable getSourceId()- Specified by:
getSourceId
in interfaceEventProducerInterface
- Specified by:
getSourceId
in classEventProducer
-