/** * Updates the distance to the neighbor and updates the distance to the * closest destination if necessary. * * @param startNode the start vertex * @param u Vertex u * @param v Vertex v * @param uvWeight w(u,v) * @param e Edge e * @param queue Queue */ @Override protected void shortestPathSoFarUpdate(VAccess startNode, VAccess u, VAccess v, Double uvWeight, E e, PriorityQueue<VAccess> queue) { // If the distance from the start node to v (so the distance *from* v // *to* the destination represented by the start node in a reversed // graph) is less than the distance to any previously found closest // destination, then update v. final double distance = u.getDistance() + uvWeight; if (v.getDistanceToClosestDestination() > distance) { v.setDistanceToClosestDestination(distance); v.setClosestDestinationId(startNode.getID()); } super.shortestPathSoFarUpdate(startNode, u, v, uvWeight, e, queue); } }