Class TrajectoryGroup<G extends GtuDataInterface>

java.lang.Object
org.opentrafficsim.kpi.sampling.TrajectoryGroup<G>
Type Parameters:
G - gtu data type
All Implemented Interfaces:
java.lang.Iterable<Trajectory<G>>

public class TrajectoryGroup<G extends GtuDataInterface>
extends java.lang.Object
implements java.lang.Iterable<Trajectory<G>>
Contains all trajectories pertaining to a certain space-time region.

Copyright (c) 2013-2019 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 Sep 21, 2016
Author:
Alexander Verbraeck, Peter Knoppers, Wouter Schakel
  • Constructor Details

    • TrajectoryGroup

      public TrajectoryGroup​(Time startTime, KpiLaneDirection laneDirection)
      Constructor without length specification. The complete lane will be used.
      Parameters:
      startTime - Time; start time of trajectories
      laneDirection - KpiLaneDirection; lane direction
    • TrajectoryGroup

      public TrajectoryGroup​(Time startTime, Length startPosition, Length endPosition, KpiLaneDirection laneDirection)
      Parameters:
      startTime - Time; start time of trajectory group
      startPosition - Length; start position
      endPosition - Length; end position
      laneDirection - KpiLaneDirection; lane direction
  • Method Details

    • addTrajectory

      public final void addTrajectory​(Trajectory<G> trajectory)
      Add trajectory.
      Parameters:
      trajectory - Trajectory<G>; trajectory to add
    • getStartTime

      public final Time getStartTime()
      Returns:
      startTime.
    • getLength

      public final Length getLength()
      Returns:
      length.
    • contains

      public final boolean contains​(Trajectory<?> trajectory)
      Whether this TrajectoryGroup holds the given trajectory. Note that this is false if the given trajectory is derived from a trajectory in this TrajectoryGroup.
      Parameters:
      trajectory - Trajectory<?>; trajectory
      Returns:
      whether this TrajectoryGroup holds the given trajectory.
    • size

      public final int size()
      Returns the number of trajectories in this group.
      Returns:
      number of trajectories in this group
    • getTrajectories

      public final java.util.List<Trajectory<G>> getTrajectories()
      Returns a list of trajectories.
      Returns:
      list of trajectories
    • getTrajectoryGroup

      public final TrajectoryGroup<G> getTrajectoryGroup​(Length x0, Length x1)
      Returns trajectory group between two locations.
      Parameters:
      x0 - Length; start length
      x1 - Length; end length
      Returns:
      list of trajectories
    • getTrajectoryGroup

      public final TrajectoryGroup<G> getTrajectoryGroup​(Time t0, Time t1)
      Returns trajectory group between two times.
      Parameters:
      t0 - Time; start time
      t1 - Time; end time
      Returns:
      list of trajectories
    • getTrajectoryGroup

      public final TrajectoryGroup<G> getTrajectoryGroup​(Length x0, Length x1, Time t0, Time t1)
      Returns trajectory group between two locations and between two times.
      Parameters:
      x0 - Length; start length
      x1 - Length; end length
      t0 - Time; start time
      t1 - Time; end time
      Returns:
      list of trajectories
    • getLaneDirection

      public final KpiLaneDirection getLaneDirection()
      Returns the lane direction.
      Returns:
      lane direction
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • equals

      public final boolean equals​(java.lang.Object obj)
      Overrides:
      equals in class java.lang.Object
    • toString

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

      public java.util.Iterator<Trajectory<G>> iterator()
      Specified by:
      iterator in interface java.lang.Iterable<G extends GtuDataInterface>