mirror of
https://github.com/opentripplanner/OpenTripPlanner.git
synced 2026-04-03 15:26:08 +02:00
34 lines
1.1 KiB
Java
34 lines
1.1 KiB
Java
package org.opentripplanner.raptor.rangeraptor.transit;
|
|
|
|
import org.opentripplanner.raptor.api.model.RaptorAccessEgress;
|
|
import org.opentripplanner.raptor.spi.RaptorTripPattern;
|
|
import org.opentripplanner.raptor.spi.RaptorTripSchedule;
|
|
|
|
/**
|
|
* A calculator that will take you back in time not forward, this is the basic logic to implement a
|
|
* reveres search.
|
|
*/
|
|
public class ReverseTransitCalculator<T extends RaptorTripSchedule>
|
|
extends ReverseTimeCalculator
|
|
implements TransitCalculator<T> {
|
|
|
|
@Override
|
|
public int stopArrivalTime(T onTrip, int stopPositionInPattern, int alightSlack) {
|
|
return plusDuration(onTrip.departure(stopPositionInPattern), alightSlack);
|
|
}
|
|
|
|
@Override
|
|
public int departureTime(RaptorAccessEgress accessEgress, int departureTime) {
|
|
return accessEgress.latestArrivalTime(departureTime);
|
|
}
|
|
|
|
@Override
|
|
public boolean alightingPossibleAt(RaptorTripPattern pattern, int stopPos) {
|
|
return pattern.boardingPossibleAt(stopPos);
|
|
}
|
|
|
|
@Override
|
|
public boolean boardingPossibleAt(RaptorTripPattern pattern, int stopPos) {
|
|
return pattern.alightingPossibleAt(stopPos);
|
|
}
|
|
}
|