Open critical-pass opened 10 months ago
What is "id" here? var node = new Microsoft.Msagl.Core.Layout.Node(curve, id);
The edge routing in SplineMode is based on https://link.springer.com/content/pdf/10.1007/978-3-642-11805-0_15.pdf, building a sparse visibility graph and routing on it.
Ah it was a typo, it should be:
var node = new Microsoft.Msagl.Core.Layout.Node(curve, myNode.id.ToString());
I'll modify it so it says the right thing.
Sorry, it is difficult to see what is happening without additional information. A full example would help. Maybe you can print out the msagl node positions as well.
I am trying to use the MSAGL library to generate node positions. I have gone through the samples and have not found a simple example that helps.
I have my own custom Graph object with a list of custom edges and custom nodes. I am iterating through them, adding them to the GeometryGraph, creating a layered layout, running the graph, iterating back through the nodes, and retrieving the node positions. The resulting nodes positions are incorrect, they are just about all overlapping. I tried scaling the positions by 100x but they still overlap. What am I doing wrong? (Here's my code)
1) I create nodes and edges. I make a dictionary for the nodes so I can reuse them in my edges.
2) Then I create my layout settings. I've tried changing properties on the settings to see if they produce different positions
3) Then I get my custom nodes (from a dictionary lookup) and set the positions from the GeometryGraph nodes:
Can someone point me in the right direction? What am I doing wrong?
As an aside, how would you create edges that curve around a node?