package org.opentrafficsim.road.gtu.lane; import java.util.Iterator; import org.opentrafficsim.core.gtu.GTUException; import org.opentrafficsim.core.gtu.plan.operational.OperationalPlanException; import org.opentrafficsim.core.network.OTSNetwork; import org.opentrafficsim.road.gtu.lane.perception.PerceptionCollectable; import org.opentrafficsim.road.gtu.lane.perception.PerceptionCollectable.UnderlyingDistance; import org.opentrafficsim.road.gtu.lane.perception.RelativeLane; import org.opentrafficsim.road.gtu.lane.perception.categories.neighbors.NeighborsPerception; import org.opentrafficsim.road.gtu.lane.perception.headway.HeadwayGTU; /** * Checks for collisions. *
* Copyright (c) 2013-2022 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 Aug 6, 2019
* @author Alexander Verbraeck
* @author Peter Knoppers
* @author Wouter Schakel
*/
public class CollisionDetector extends AbstractLaneBasedMoveChecker
{
/**
* Constructor.
* @param network OTSNetwork; network
*/
public CollisionDetector(final OTSNetwork network)
{
super(network);
}
/** {@inheritDoc} */
@Override
public void checkMove(final LaneBasedGTU gtu) throws Exception
{
try
{
NeighborsPerception neighbors =
gtu.getTacticalPlanner().getPerception().getPerceptionCategory(NeighborsPerception.class);
PerceptionCollectable