Vorgaben für den Ebenenbereich (HL)

In Schritt 1 des Layoutalgorithmus (Phase, in der die Ebenen angelegt werden) werden die Knoten in Ebenen eingeteilt. Diese Ebenen erhalten Indizes, die bei 0 beginnen. Wenn die Arbeitsrichtung beispielsweise nach unten verläuft, werden die Knoten der Ebene mit dem Index 0 auf der obersten horizontalen Ebenenlinie platziert und die Knoten mit einem größeren Ebenenindex an einer Position, die niedriger ist als die der Knoten mit einem kleineren Ebenenindex (siehe Ebenen- und Positionsindizes). Der Layoutalgorithmus berechnet diese Ebenenindizes automatisch.
Sie können festlegen, wie die Ebenen eingeteilt werden, indem Sie für einige Knoten den Bereich für den Ebenenindex angeben. Die Knoten werden auf den Ebenen platziert, deren Indizes im angegebenen Bereich liegen. Sie müssen den minimalen und den maximalen Index der Ebene angeben.
Gehen Sie wie folgt vor, um den minimalen und den maximalen Index der Ebene anzugeben:
Rufen Sie Folgendes auf:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalLevelRangeConstraint(node, 5, 7));
Wenn Sie den Knoten exakt in Ebene 5 platzieren möchten, rufen Sie folgende Methode auf:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalLevelRangeConstraint(node, 5, 5));
Alternativ können Sie die folgende Methode aufrufen:
layout.setSpecNodeLevelIndex(node, 5);
Diese Methode hat dieselbe Bedeutung.
Wenn Sie erzwingen möchten, dass der Knoten in Ebene 5 oder höher platziert wird, legen Sie UNSPECIFIED als maximale Ebene fest.
Rufen Sie Folgendes auf:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalLevelRangeConstraint(node, 5, ibm_ilog.graphlayout.hierarchical.HierarchicalLayout.UNSPECIFIED));
Wenn Sie erzwingen möchten, dass der Knoten in Ebene 5 oder niedriger platziert wird, (d. h. Ebene 0...5), legen Sie UNSPECIFIED als minimale Ebene fest. Beispiel:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalLevelRangeConstraint(node, ibm_ilog.graphlayout.hierarchical.HierarchicalLayout.UNSPECIFIED, 5));
In diesem bestimmten Fall könnten Sie auch null (0) als minimale Ebene festlegen, weil die Ebenenindizes bei 0 beginnen.
Sie können die Vorgaben auf eine Gruppe mit mehreren Knoten gleichzeitig anwenden. Dies hat denselben Effekt wie die Angabe der Vorgabe für jeden einzelnen Knoten der Gruppe, ist aber speichereffizienter und komfortabel. Wenn Sie beispielsweise erzwingen möchten, dass die Gruppe mit den drei Knoten in den Ebenen 5-7 platziert werden, gehen Sie wie folgt vor:
Gehen Sie zum Festlegen der Parameter wie folgt vor:
Erstellen Sie ein NodeGroup-Objekt (siehe Knotengruppen) der drei Knoten, und fügen Sie dieses der Vorgabe wie folgt hinzu:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalLevelRangeConstraint(nodeGroup, 5, 7));