Class LaneChange.LaneChangePath.InterpolatedLaneChangePath

java.lang.Object
org.opentrafficsim.road.gtu.lane.plan.operational.LaneChange.LaneChangePath.InterpolatedLaneChangePath
All Implemented Interfaces:
LaneChange.LaneChangePath
Enclosing interface:
LaneChange.LaneChangePath

public abstract static class LaneChange.LaneChangePath.InterpolatedLaneChangePath
extends java.lang.Object
implements LaneChange.LaneChangePath
Helper class for interpolation between the from and to center lines.

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 May 3, 2019
Author:
Alexander Verbraeck, Peter Knoppers, Wouter Schakel
  • Constructor Details

  • Method Details

    • getPath

      public OTSLine3D getPath​(Duration timeStep, Length planDistance, Speed meanSpeed, DirectedLanePosition from, DirectedPoint startPosition, LateralDirectionality laneChangeDirection, OTSLine3D fromLine, OTSLine3D toLine, Duration laneChangeDuration, double lcFraction) throws OTSGeometryException
      Returns a (partial) path for a lane change. The method is called both at the start and during a lane change, and should return a valid path. This path should at least have a length of planDistance, unless the lane change will be finished during the coming time step. In that case, the caller of this method is to lengthen the path along the center line of the target lane.
      Specified by:
      getPath in interface LaneChange.LaneChangePath
      Parameters:
      timeStep - Duration; time step
      planDistance - Length; distance covered during the operational plan
      meanSpeed - Speed; mean speed during time step
      from - DirectedLanePosition; current position on the from-lanes
      startPosition - DirectedPoint; current 2D position
      laneChangeDirection - LateralDirectionality; lane change direction
      fromLine - OTSLine3D; from line
      toLine - OTSLine3D; to line
      laneChangeDuration - Duration; current considered duration of the entire lane change
      lcFraction - double; fraction of lane change done so far
      Returns:
      OTSLine3D a (partial) path for a lane change
      Throws:
      OTSGeometryException - on wrong fractional position