Class StaticObject

java.lang.Object
nl.tudelft.simulation.event.EventProducer
org.opentrafficsim.core.object.StaticObject
All Implemented Interfaces:
java.io.Serializable, Locatable, nl.tudelft.simulation.event.EventProducerInterface, Identifiable, Drawable, ObjectInterface

public class StaticObject
extends nl.tudelft.simulation.event.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.

$LastChangedDate: 2015-07-24 02:58:59 +0200 (Fri, 24 Jul 2015) $, @version $Revision: 1147 $, by $Author: averbraeck $, initial version Nov 26, 2015
Author:
Alexander Verbraeck, Peter Knoppers
See Also:
Serialized Form
  • Field Summary

    Fields inherited from class nl.tudelft.simulation.event.EventProducer

    listeners

    Fields inherited from interface nl.tudelft.simulation.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()
    protected void init()
    Initialize the object after it has been fully created.
    java.lang.String toString()

    Methods inherited from class nl.tudelft.simulation.event.EventProducer

    addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, removeAllListeners, removeAllListeners, removeListener

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface nl.tudelft.simulation.event.EventProducerInterface

    addListener, addListener, addListener, addListener, removeListener
  • Constructor Details

    • StaticObject

      protected StaticObject​(java.lang.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​(java.lang.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​(java.lang.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 ObjectInterface
      Returns:
      the outline geometry of the object.
    • getHeight

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

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

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

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

      public javax.media.j3d.Bounds getBounds()
      Specified by:
      getBounds in interface Locatable
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • clone

      public StaticObject clone​(Network newNetwork, SimulatorInterface.TimeDoubleUnit newSimulator, boolean animation) throws NetworkException
      Clone the StaticObject for e.g., copying a network.
      Parameters:
      newNetwork - Network; the new network to which the clone belongs
      newSimulator - SimulatorInterface.TimeDoubleUnit; the new simulator for this network
      animation - boolean; whether to (re)create animation or not
      Returns:
      a clone of this object
      Throws:
      NetworkException - in case the cloning fails