Sie können Folgendes angeben, um zu erzwingen, dass ein Knoten auf der ersten Ebene platziert wird:
layout.setSpecNodeLevelIndex(node, 0);
Sie können jedoch keinen Ebenenindex für die letzte Ebene angeben, weil zu Beginn des
Layouts nicht bekannt ist, wie viele Ebenen erstellt werden.
Deshalb ist die folgende Angabe unklug:
layout.setSpecNodeLevelIndex(node, Number.MAX_VALUE);
Diese Angabe erstellt viele leere Ebenen zwischen den verwendeten
Ebenen und der letzten Ebene.
Obwohl diese leeren Ebenen in Nachbearbeitungsschritten entfernt werden, haben sie Einfluss
auf die Geschwindigkeit und die Qualität des Layouts.
(Wenn Sie den angegebenen Ebenenindex auf einen unangemessen hohen Wert setzen, kann im Algorithmus sogar eine abnormale Speicherbedingung auftreten.)
Mithilfe von Vorgaben können Sie denselben Effekt viel effizienter erzielen.
Gehen Sie wie folgt vor, um zu erzwingen, dass ein Knoten auf der ersten Ebene platziert wird:
Rufen Sie Folgendes auf:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalExtremityConstraint(node, ibm_ilog.graphlayout.hierarchical.HierarchicalLayout.NORTH));
Gehen Sie wie folgt vor, um zu erzwingen, dass ein Knoten auf der letzten Ebene platziert wird:
Rufen Sie Folgendes auf:
layout.addConstraint( new ibm_ilog.graphlayout.hierarchical.HierarchicalExtremityConstraint(node, ibm_ilog.graphlayout.hierarchical.HierarchicalLayout.SOUTH));
Mit Kompassrichtungen als komfortabler Referenz (siehe Parameter für Portseiten (HL))
gibt die erste Ebene den Nordpol und die letzte Ebene den Südpol an.
Sie können auch Grenzvorgaben für die Ost- und Westseite festlegen:
layout.addConstraint( new ibm_ilog.graphlayout.hierarchical.HierarchicalExtremityConstraint(node1, ibm_ilog.graphlayout.hierarchical.HierarchicalLayout.EAST)); layout.addConstraint( new ibm_ilog.graphlayout.hierarchical.HierarchicalExtremityConstraint(node2, ibm_ilog.graphlayout.hierarchical.HierarchicalLayout.WEST));
Die westliche Grenzvorgabe erzwingt, dass der Knoten am niedrigsten Positionsindex
innerhalb seiner Ebene platziert wird, und die östliche Grenzvorgabe erzwingt, dass der Knoten an dem
höchsten Positionsindex innerhalb seiner Ebene platziert wird.
Die Positionsindizes geben die relative Position innerhalb der Ebene an. Ein Knoten mit einer
westlichen Grenzvorgabe ist beispielsweise der Knoten ganz links innerhalb seiner Ebene, wenn die Arbeitsrichtung
nach unten verläuft.
Dies hat jedoch keine Auswirkung auf die anderen Ebenen. Es kann ein Knoten in einer anderen Ebene vorhanden sein, der noch weiter links platziert ist.
Die folgende Abbildung veranschaulicht einige Grenzvorgaben:

Skizze der Grenzvorgaben