Class TrajectoryAcceptList


  • public class TrajectoryAcceptList
    extends Object
    Set of trajectories to be accepted or rejected for a query. All the trajectories pertain to one GTU. A Query may reject or accept all, or a specific subset, based on the specific needs of different FilterDataTypes.

    Copyright (c) 2013-2023 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 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. By default it is registered to be not accepted for a query.
        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 the number of trajectories.
        Returns:
        number of trajectories
      • getTrajectory

        public final Trajectory<?> getTrajectory​(int i)
        Returns trajectory by index.
        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)
        Returns a trajectory group by index.
        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 an iterator over the trajectories.
        Returns:
        iterator over trajectory's, does not allow removal
      • getTrajectoryGroupIterator

        public final Iterator<TrajectoryGroup<?>> getTrajectoryGroupIterator()
        Returns an iterator over the trajectory groups.
        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.
        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