run method

  1. @override
Size run(
  1. Graph? graph,
  2. double shiftX,
  3. double shiftY
)
override

Executes the algorithm. @param shiftY Shifts the y-coordinate origin @param shiftX Shifts the x-coordinate origin @return The size of the graph

Implementation

@override
Size run(Graph? graph, double shiftX, double shiftY) {
  this.graph = copyGraph(graph!);
  reset();
  initNodeData();
  cycleRemoval();
  layerAssignment();
  nodeOrdering(); // Eiglsperger 6-step process
  coordinateAssignment();
  shiftCoordinates(shiftX, shiftY);
  final graphSize = graph.calculateGraphSize();
  denormalize();
  restoreCycle();
  return graphSize;
}