run method
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;
}