microsoft/automatic-graph-layout

[Question] Is this features available?

Opened this issue · 2 comments

bsp13 commented

I need following features in graph layout framework::

  1. I need to set position for perticular node programmatically which i choose.
  2. I need to set minimum edge length and also need to set edge type like.. splines, ortho
  3. In graph, every node show with rectagle, circle or square. so, I need to set width and height of that rectagle.

is there available?

  1. Not that I know, or rather not strictly so. There are methods available within the layout settings for things such as AddLeftRightConstraint, AddUpDownConstraint and various other constraint setting methods which should allow you to position a node relatively well to other nodes.

  2. Not sure if there is a way of setting minimum edge length. Yes you can see edge types though. The types can be found in Core.Routing.EdgeRoutingMode:

        /// <summary>
        /// routing splines over tangent visibility graph edge as a sequence of Bezier segments 
        /// </summary>
        Spline,
        /// <summary>
        /// drawing ordered bundles
        /// </summary>
        SplineBundling,
        /// <summary>
        /// draw edges as straight lines 
        /// </summary>
        StraightLine,
        /// <summary>
        /// inside of Sugiyama algorithm use the standard spline routing
        /// </summary>
        SugiyamaSplines,
        /// <summary>
        /// rectilinear edge routing
        /// </summary>
        Rectilinear,
        /// <summary>
        /// rectilinear but not checking for the optimal port and routing just to the node centers
        /// </summary>
        RectilinearToCenter,
  1. Yes very possible and is how I'm using MSAGL.

Possible correction of 1. Yes this may be possible using the Node.Centre property. Whether this is preserved during layout you'd have to test.