Class StaticObject

java.lang.Object
org.djutils.event.LocalEventProducer
org.opentrafficsim.core.object.StaticObject
All Implemented Interfaces:
Serializable, Remote, Locatable, org.djutils.event.EventProducer, Identifiable, Drawable, LocatedObject

public class StaticObject extends org.djutils.event.LocalEventProducer implements LocatedObject, 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-2023 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

    Constructors
    Modifier
    Constructor
    Description
    protected
    StaticObject(String id, OtsLine3d geometry, Length height)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    create(String id, OtsLine3d geometry)
    Make a static object with zero height and carry out the initialization after it has been fully created.
    create(String id, OtsLine3d geometry, Length height)
    Make a static object and carry out the initialization after it has been fully created.
    final OtsLine3d
    final Length
    final String
    protected void
    Initialize the object after it has been fully created.

    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, OtsLine3d geometry, Length height)
      Parameters:
      id - String; the id
      geometry - OtsLine3d; the top-level 2D outline of the object
      height - Length; the height of the object
  • Method Details

    • init

      protected void init() throws NetworkException
      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, OtsLine3d geometry, Length height) throws NetworkException
      Make a static object and carry out the initialization after it has been fully created.
      Parameters:
      id - String; the id
      geometry - OtsLine3d; the top-level 2D outline of the object
      height - 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, OtsLine3d 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 id
      geometry - 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

      public final OtsLine3d getGeometry()
      Specified by:
      getGeometry in interface LocatedObject
      Returns:
      the outline geometry of the object.
    • getHeight

      public final Length getHeight()
      Specified by:
      getHeight in interface LocatedObject
      Returns:
      the height of the object (can be Length.ZERO).
    • getId

      public final String getId()
      Specified by:
      getId in interface Identifiable
    • getFullId

      public String getFullId()
      Specified by:
      getFullId in interface LocatedObject
      Returns:
      the full id that makes the id unique in the network.
    • getLocation

      public DirectedPoint getLocation()
      Specified by:
      getLocation in interface Locatable
    • getBounds

      public Bounds getBounds()
      Specified by:
      getBounds in interface Locatable
      Specified by:
      getBounds in interface LocatedObject
    • toString

      public String toString()
      Overrides:
      toString in class Object