org.opentripplanner.routing.edgetype.FreeEdge Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of otp Show documentation
Show all versions of otp Show documentation
The OpenTripPlanner multimodal journey planning system
package org.opentripplanner.routing.edgetype;
import org.opentripplanner.routing.core.State;
import org.opentripplanner.routing.core.StateEditor;
import org.opentripplanner.routing.graph.Edge;
import org.opentripplanner.routing.graph.Vertex;
import org.locationtech.jts.geom.LineString;
import java.util.Locale;
/**
* An edge that costs nothing to traverse. Used for connecting intersection vertices to the main
* edge-based graph.
*
* @author novalis
*
*/
public class FreeEdge extends Edge {
private static final long serialVersionUID = 3925814840369402222L;
public FreeEdge(Vertex from, Vertex to) {
super(from, to);
}
@Override
public State traverse(State s0) {
StateEditor s1 = s0.edit(this);
s1.incrementWeight(1);
// do not change mode, which means it may be null at the start of a trip
return s1.makeState();
}
@Override
public double getDistanceMeters() {
return 0;
}
@Override
public LineString getGeometry() {
return null;
}
@Override
public String getName() {
return null;
}
@Override
public String getName(Locale locale) {
return this.getName();
}
public String toString() {
return "FreeEdge(" + fromv + " -> " + tov + ")";
}
}