Record Class SpaceTimeRegion<L extends LaneData<L>>

java.lang.Object
java.lang.Record
org.opentrafficsim.kpi.sampling.SpaceTimeRegion<L>
Type Parameters:
L - lane data type
Record Components:
lane - lane
startPosition - start position
endPosition - end position
startTime - start time
endTime - end time

public record SpaceTimeRegion<L extends LaneData<L>>(L extends LaneData<L> lane, Length startPosition, Length endPosition, Duration startTime, Duration endTime) extends Record
Defines a rectangular region over space and time on a lane.

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, Wouter Schakel
  • Constructor Details

    • SpaceTimeRegion

      public SpaceTimeRegion(L lane, Length startPosition, Length endPosition, Duration startTime, Duration endTime)
      Creates a space-time region.
      Parameters:
      lane - lane
      startPosition - start position
      endPosition - end position
      startTime - start time
      endTime - end time
      Throws:
      IllegalArgumentException - if start time is larger than end time
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • lane

      public L lane()
      Returns the value of the lane record component.
      Returns:
      the value of the lane record component
    • startPosition

      public Length startPosition()
      Returns the value of the startPosition record component.
      Returns:
      the value of the startPosition record component
    • endPosition

      public Length endPosition()
      Returns the value of the endPosition record component.
      Returns:
      the value of the endPosition record component
    • startTime

      public Duration startTime()
      Returns the value of the startTime record component.
      Returns:
      the value of the startTime record component
    • endTime

      public Duration endTime()
      Returns the value of the endTime record component.
      Returns:
      the value of the endTime record component