java.lang.Object
org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayDistance
All Implemented Interfaces:
Serializable, Comparable<Headway>, org.djutils.base.Identifiable, PerceivedObject, Headway

public class HeadwayDistance extends Object implements Headway
Container for a reference to information about a headway with just a distance, without any further information about the object; it assumes a speed of 0 at the headway, so it also good to store information about a lane drop. The reason for storing a speed of zero at the end of a maximum headway is that we did not check the conditions beyond that point. A GTU or lane drop could be right behind the last point we checked.

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:
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.opentrafficsim.road.gtu.lane.perception.headway.Headway

    Headway.ObjectType
  • Constructor Summary

    Constructors
    Constructor
    Description
    HeadwayDistance(double distance)
    Construct a new Headway information object with just a distance, without any further information about the object; it assumes a speed of 0 at the headway, so it also good to store information about a lane drop.
    HeadwayDistance(org.djunits.value.vdouble.scalar.Length distance)
    Construct a new Headway information object with just a distance, without any further information about the object; it assumes a speed of 0 at the headway, so it also good to store information about a lane drop.
  • Method Summary

    Modifier and Type
    Method
    Description
    final org.djunits.value.vdouble.scalar.Acceleration
    final org.djunits.value.vdouble.scalar.Length
    Retrieve the strongly typed distance to the other object.
    final String
    final org.djunits.value.vdouble.scalar.Length
    final org.djunits.value.vdouble.scalar.Length
    Return the (perceived) overlap with the other object.
    final org.djunits.value.vdouble.scalar.Length
    Return the (perceived) front overlap to the other object.
    final org.djunits.value.vdouble.scalar.Length
    Return the (perceived) rear overlap to the other object.
    final org.djunits.value.vdouble.scalar.Speed
    final boolean
    final boolean
    final boolean
    final String

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.opentrafficsim.road.gtu.lane.perception.headway.Headway

    compareTo
  • Constructor Details

    • HeadwayDistance

      public HeadwayDistance(double distance)
      Construct a new Headway information object with just a distance, without any further information about the object; it assumes a speed of 0 at the headway, so it also good to store information about a lane drop.
      Parameters:
      distance - double; the distance that needs to be stored.
    • HeadwayDistance

      public HeadwayDistance(org.djunits.value.vdouble.scalar.Length distance)
      Construct a new Headway information object with just a distance, without any further information about the object; it assumes a speed of 0 at the headway, so it also good to store information about a lane drop.
      Parameters:
      distance - Length; the distance that needs to be stored.
  • Method Details

    • getId

      public final String getId()
      Specified by:
      getId in interface Headway
      Specified by:
      getId in interface org.djutils.base.Identifiable
      Returns:
      String; the id of the other object for comparison purposes, cannot be null.
    • getLength

      public final org.djunits.value.vdouble.scalar.Length getLength()
      Specified by:
      getLength in interface Headway
      Returns:
      Length; the length of the other object; can be null if unknown.
    • getSpeed

      public final org.djunits.value.vdouble.scalar.Speed getSpeed()
      Specified by:
      getSpeed in interface Headway
      Returns:
      Speed; the (perceived) speed of the other object; can be null if unknown.
    • getDistance

      public final org.djunits.value.vdouble.scalar.Length getDistance()
      Retrieve the strongly typed distance to the other object.
      Specified by:
      getDistance in interface Headway
      Returns:
      Length; the distance to the object, return value null indicates that the other object is parallel to the reference object
    • getObjectType

      public final Headway.ObjectType getObjectType()
      Specified by:
      getObjectType in interface Headway
      Returns:
      Length; the (perceived) object Type, can be null if no object type unknown.
    • getAcceleration

      public final org.djunits.value.vdouble.scalar.Acceleration getAcceleration()
      Specified by:
      getAcceleration in interface Headway
      Returns:
      Acceleration; acceleration the (perceived) acceleration of the other object; can be null if unknown.
    • getOverlapFront

      public final org.djunits.value.vdouble.scalar.Length getOverlapFront()
      Return the (perceived) front overlap to the other object. This value should be null if there is no overlap. In the figure for two GTUs below, it is distance c, positive for GTU1, negative for GTU2.
       ----------
       |  GTU 1 |          ----->
       ----------
            ---------------
            |    GTU 2    |          ----->
            ---------------
       | a  | b |     c   |
       
      Specified by:
      getOverlapFront in interface Headway
      Returns:
      Length; the (perceived) front overlap to the other object or null if there is no overlap.
    • getOverlapRear

      public final org.djunits.value.vdouble.scalar.Length getOverlapRear()
      Return the (perceived) rear overlap to the other object. This value should be null if there is no overlap.In the figure below for two GTUs, it is distance a, positive for GTU1, negative for GTU2.
       ----------
       |  GTU 1 |          ----->
       ----------
            ---------------
            |    GTU 2    |          ----->
            ---------------
       | a  | b |     c   |
       
      Specified by:
      getOverlapRear in interface Headway
      Returns:
      Length; the (perceived) rear overlap to the other object or null if there is no overlap.
    • getOverlap

      public final org.djunits.value.vdouble.scalar.Length getOverlap()
      Return the (perceived) overlap with the other object. This value should be null if there is no overlap. In the figure below for two GTUs, it is distance b, positive for GTU1 and GTU2.
       ----------
       |  GTU 1 |          ----->
       ----------
            ---------------
            |    GTU 2    |          ----->
            ---------------
       | a  | b |     c   |
       
      Specified by:
      getOverlap in interface Headway
      Returns:
      Length, the (perceived) overlap with the other object or null if there is no overlap.
    • isAhead

      public final boolean isAhead()
      Specified by:
      isAhead in interface Headway
      Returns:
      whether the other object is in front of the reference object.
    • isBehind

      public final boolean isBehind()
      Specified by:
      isBehind in interface Headway
      Returns:
      whether the other object is behind the reference object.
    • isParallel

      public final boolean isParallel()
      Specified by:
      isParallel in interface Headway
      Returns:
      whether the other object is parallel the reference object.
    • toString

      public final String toString()
      Overrides:
      toString in class Object