PriorityCode.java
package org.heigit.ors.routing.graphhopper.extensions.util;
/**
* Used to store a priority value in the way flags of an edge. Used in combination with
* PriorityWeighting
*
* @author Peter Karich
*/
public enum PriorityCode {
WORST(0),
AVOID_AT_ALL_COSTS(1),
REACH_DEST(2),
AVOID_IF_POSSIBLE(3),
UNCHANGED(4),
PREFER(5),
VERY_NICE(6),
BEST(7);
private final int value;
PriorityCode(int value) {
this.value = value;
}
public int getValue() {
return value;
}
/**
* This method returns the PriorityCode.value in a range between 0 and 1 suitable for direct usage in a Weighting.
*/
public static double getFactor(int val) {
return (double) val / BEST.getValue();
}
}