package iamrescue.routing.costs; import iamrescue.belief.IAMWorldModel; import iamrescue.routing.util.ISpeedInfo; import iamrescue.util.PositionXY; import org.apache.log4j.Logger; import rescuecore2.standard.entities.Area; public class SimpleTimeLearningRoutingCostFunction extends SimpleDistanceRoutingCostFunction { private static final Logger LOGGER = Logger .getLogger(SimpleTimeLearningRoutingCostFunction.class); private ISpeedInfo speedInfo; public SimpleTimeLearningRoutingCostFunction(IAMWorldModel worldModel, ISpeedInfo speedInfo, boolean ignoreBlocks) { super(worldModel, ignoreBlocks); this.speedInfo = speedInfo; } @Override public void setBurningPenalty(double burningPenalty) { super.setBurningPenalty(burningPenalty); } @Override public double getBurningPenalty() { return super.getBurningPenalty(); } @Override public double getTravelCost(Area area, PositionXY from, PositionXY to) { double distance = super.getTravelCost(area, from, to); return speedInfo.getTimeToTravelDistance(distance); } }