This project is read-only.

multiple edges between two vertexes

Jul 17, 2013 at 2:49 PM

i just found out that multiple edges between two vertexes are drawn behind each other, so that they seem to be only one edge.

Does anyone know how to draw multiple edges between two vertexes side by side?

Thanks in advance,
Jul 18, 2013 at 7:11 AM
Edited Jul 18, 2013 at 7:17 AM
Hi, accidently thought you have replied in my library discussion :) Though i can't tell you how to do it with Graph# you can code it with GraphX ( as it have solid EdgeRouting implementation.

Though 1st answer is likely fit into Graph# logic i can't assist you much on that case because of Graph# have only rudimentary EdgeRouting capabilities.

Hi, i don't think i have ready solution for this right now. But there are several ways to do this:
  1. Write custom EdgeRouting algorithm (for straight edges) and:
    • Check that there are many edges between two vertices
    • Find out the center of the edges and slightly shift center coordinates in opposite directions
    • Build RoutingPoints based on the shifted centers (3 coordinate: start, center, end)
  2. GraphX: Modify EdgeControl.PrepareEdgePath() method for different edges to have shifted connection points.
Its pretty interesting task and it would be great if you can handle it and share the results :)