hi,
I'm still testing the component and I've two questions for you.
1) Since I'm going to manage a large amount of boxes (>100), I want to know if there is a way to obtain a "Progress Indicator" (maybe via Windows' messages?) while the ArrangeDiagram method is executing. This can be useful for the users because the algorithm takes up to 30 seconds to execute. I use ArrangeDiagram on GridLayout and SpringLayout.
2) Sometimes arrows are not routed very well: as you can see in this image, arrow is crossing the box and we have to avoid this. (this happens both to GridLayout and SpringLayout). I was wrong on something?
for SpringLayout I use this:
var lt: SpringLayout;
begin
lt := CoSpringLayout.Create();
lt.EnableClusters := true;
lt.NodeDistance := 50;
lt.NumIterations := 500;
lt.ArrowAnchoring := ancReassign;
flowchart1.ArrangeDiagram(lt);
end;
this for GridLayout:
var lt: GridLayout;
begin
lt := CoGridLayout.Create();
lt.GridSize := 85;
lt.RandomSeed := 1;
lt.NumIterations := 500;
lt.ArrowAnchoring := ancReassign;
flowchart1.ArrangeDiagram(lt);
end;
for completeness I also post assigned properties of flowchart1 object
FlowChart1.RouteArrows := True;
FlowChart1.ArrowStyle := asPerpendicular;
FlowChart1.RoutingOptions.Anchoring := ancReAssign;
FlowChart1.RoutingOptions.NodeVicinityCost := 100;
FlowChart1.RoutingOptions.CrossingCost := 100;
FlowChart1.RoutingOptions.NodeVicinitySize := 20;
FlowChart1.RoutingOptions.TurnCost:= 1;
flowchart1.RoutingOptions.TriggerRerouting := raWhenIntersectNode;
any suggestions? Thanks in advance. Best Regards