Interface NeighborsPerception

    • Method Detail

      • getFirstLeaders

        SortedSet<HeadwayGTU> getFirstLeaders​(LateralDirectionality lat)
                                       throws org.opentrafficsim.base.parameters.ParameterException,
                                              NullPointerException,
                                              IllegalArgumentException
        Set of leaders on a lane, which is usually 0 or 1, but possibly more in case of a downstream split with no intermediate GTU. This is shown below. Suppose A needs to go straight. If A considers a lane change to the left, both GTUs B (who's tail ~ is still on the straight lane) and C need to be considered for whether it's safe to do so. In case of multiple splits close to one another, the returned set may contain even more than 2 leaders. Leaders are sorted by headway value.
                  | |
         _________/B/_____
         _ _?_ _ _~_ _C_ _
         _ _A_ _ _ _ _ _ _
         _________________
         
        Only vehicles who's rear is beyond the own front are considered, no alongside vehicles.

        Parameters:
        lat - LateralDirectionality; LEFT or RIGHT
        Returns:
        list of followers on a lane
        Throws:
        org.opentrafficsim.base.parameters.ParameterException - if parameter is not defined
        NullPointerException - if lat is null
        IllegalArgumentException - if lat is NONE
      • getFirstFollowers

        SortedSet<HeadwayGTU> getFirstFollowers​(LateralDirectionality lat)
                                         throws org.opentrafficsim.base.parameters.ParameterException,
                                                NullPointerException,
                                                IllegalArgumentException
        Set of followers on a lane, which is usually 0 or 1, but possibly more in case of an upstream merge with no intermediate GTU. This is shown below. If A considers a lane change to the left, both GTUs B and C need to be considered for whether it's safe to do so. In case of multiple merges close to one another, the returned set may contain even more than 2 followers. Followers are sorted by tailway value.
                | |
                |C| 
         ________\ \______
         _ _B_|_ _ _ _ _?_
         _ _ _|_ _ _ _ _A_ 
         _____|___________
         
        Only vehicles who's front is before the own rear are considered, no alongside vehicles.

        Parameters:
        lat - LateralDirectionality; LEFT or RIGHT
        Returns:
        list of followers on a lane
        Throws:
        org.opentrafficsim.base.parameters.ParameterException - if parameter is not defined
        NullPointerException - if lat is null
        IllegalArgumentException - if lat is NONE
      • isGtuAlongside

        boolean isGtuAlongside​(LateralDirectionality lat)
                        throws org.opentrafficsim.base.parameters.ParameterException,
                               NullPointerException,
                               IllegalArgumentException
        Whether there is a GTU alongside, i.e. with overlap, in an adjacent lane.
        Parameters:
        lat - LateralDirectionality; LEFT or RIGHT
        Returns:
        whether there is a GTU alongside, i.e. with overlap, in an adjacent lane
        Throws:
        org.opentrafficsim.base.parameters.ParameterException - if parameter is not defined
        NullPointerException - if lat is null
        IllegalArgumentException - if lat is NONE
      • getLeaders

        PerceptionCollectable<HeadwayGTU,​LaneBasedGTU> getLeaders​(RelativeLane lane)
        Set of leaders on a lane, including adjacent GTU's who's FRONT is ahead of the own vehicle FRONT. Leaders are sorted by headway value.
        Parameters:
        lane - RelativeLane; relative lateral lane
        Returns:
        set of leaders on a lane, including adjacent GTU's who's FRONT is ahead of the own vehicle FRONT
      • getFollowers

        PerceptionCollectable<HeadwayGTU,​LaneBasedGTU> getFollowers​(RelativeLane lane)
        Set of followers on a lane, including adjacent GTU's who's FRONT is back of the own vehicle FRONT. Follower are are sorted by distance.
        Parameters:
        lane - RelativeLane; relative lateral lane
        Returns:
        set of followers on a lane, including adjacent GTU's who's FRONT is back of the own vehicle FRONT