Class TrajectoryAcceptList


  • public class TrajectoryAcceptList
    extends Object
    Set of trajectories to be accepted or rejected for a query.

    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.

    Version:
    $Revision$, $LastChangedDate$, by $Author$, initial version 30 sep. 2016
    Author:
    Alexander Verbraeck, Peter Knoppers, Wouter Schakel
    • Constructor Detail

      • TrajectoryAcceptList

        public TrajectoryAcceptList()
    • Method Detail

      • addTrajectory

        public final void addTrajectory​(Trajectory<?> trajectory,
                                        TrajectoryGroup trajectoryGroup)
        Adds a Trajectory with the TrajectoryGroup it is from to the accept list.
        Parameters:
        trajectory - Trajectory<?>; Trajectory trajectory
        trajectoryGroup - TrajectoryGroup; TrajectoryGroup trajectories
        Throws:
        IllegalArgumentException - if the Trajectory is not within the TrajectoryGroup
        IllegalArgumentException - if the Trajectory belongs to a different GTU than an earlier provided Trajectory
      • size

        public final int size()
        Returns:
        number of trajectories
      • getTrajectory

        public final Trajectory<?> getTrajectory​(int i)
        Parameters:
        i - int; number of trajectory to get
        Returns:
        i'th trajectory
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= size())
      • getTrajectoryGroup

        public final TrajectoryGroup getTrajectoryGroup​(int i)
        Parameters:
        i - int; number of TrajectoryGroup to get
        Returns:
        i'th TrajectoryGroup
        Throws:
        IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= size())
      • getTrajectoryIterator

        public final Iterator<Trajectory<?>> getTrajectoryIterator()
        Returns:
        iterator over trajectory's, does not allow removal
      • getTrajectoryGroupIterator

        public final Iterator<TrajectoryGroup> getTrajectoryGroupIterator()
        Returns:
        iterator over TrajectoryGroup's, does not allow removal
      • acceptTrajectory

        public final void acceptTrajectory​(Trajectory<?> trajectory)
        Accept given trajectory.
        Parameters:
        trajectory - Trajectory<?>; trajectory to accept
        Throws:
        IllegalArgumentException - if the trajectory is not part of the trajectory accept list
      • rejectTrajectory

        public final void rejectTrajectory​(Trajectory<?> trajectory)
        Reject given trajectory.
        Parameters:
        trajectory - Trajectory<?>; trajectory to reject
        Throws:
        IllegalArgumentException - if the trajectory is not part of the trajectory accept list
      • acceptTrajectory

        public final void acceptTrajectory​(Trajectory<?> trajectory,
                                           boolean accept)
        Accept or reject given trajectory.
        Parameters:
        trajectory - Trajectory<?>; trajectory to accept or reject
        accept - boolean; whether to accept the trajectory
        Throws:
        IllegalArgumentException - if the trajectory is not part of the trajectory accept list
      • acceptAll

        public final void acceptAll()
        Accept all trajectories.
      • rejectAll

        public final void rejectAll()
        Reject all trajectories.
      • isAccepted

        public final boolean isAccepted​(Trajectory<?> trajectory)
        Returns whether the given trajectory is accepted or not. If this was not determined, it is false by default.
        Parameters:
        trajectory - Trajectory<?>; trajectory
        Returns:
        whether the given trajectory is accepted or not
        Throws:
        IllegalArgumentException - if the trajectory is not part of the trajectory accept list