void GenerateOrthogonalOrderingConstraints(IEnumerable<Node> nodes, FastIncrementalLayoutSettings settings) {
     Node p = null;
     foreach (var v in graph.Nodes.OrderBy(v => v.Center.X)) {
         if (p != null) {
             settings.AddStructuralConstraint(new HorizontalSeparationConstraint(p, v, 0.1));
         }
         p = v;
     }
     p = null;
     foreach (var v in graph.Nodes.OrderBy(v => v.Center.Y)) {
         if (p != null) {
             settings.AddStructuralConstraint(new VerticalSeparationConstraint(p, v, 0.1));
         }
         p = v;
     }
 }