JGraph 5.7

Loop routing seperated from general routing

The Routing interface still requires the implementation of the route() method. route() returns the result of one of the routing methods in the router. The basic implementation checks if the edge is a loop and calls the loop routing method, otherwise it calls the general routing method. routeLoop() routes edges that start and ends at the same vertex and routeEdge() is intended for non self-loop edges. The default loop implementation is provided by LoopRouting. Extending LoopRouting for your own routers is recommended if your router does not currently provide any self-looping. The default router, DefaultRouter, inherits from LoopRouting and adds routing for general edges.

Edgeview now keeps manual control points

Edgeviews with manual control points that have routing applied revert to their old manual control points when the routing is removed.