Bahnen sind rechteckige Bereiche, die orthogonal (rechtwinklig)
zu den Ebenen liegen.
- Wenn die Linkarbeitsrichtung nach unten oder nach oben verläuft, sind die Ebenen horizontale Zeilen und die Bahnen vertikale Spalten.
- Wenn die Arbeitsrichtung nach links oder nach rechts verläuft, sind die Ebenen vertikale Spalten und die Bahnen horizontale Zeilen.
Sie können Bahnen verwenden, wenn die Knoten in Gruppen eingeteilt sind, um anzuzeigen, welche
Knoten zu einer bestimmten Gruppe gehören.
Die Knoten, die zu derselben Bahn gehören, werden so platziert, dass es möglich ist, ein
Rechteck um sie herum zu zeichnen.
Bahnen lassen auch eine Organisation des Graphen in tabellenähnlicher Form zu.
Sie können beispielsweise ein Arbeitsablaufdiagramm haben, in dem die Knoten Aktionen darstellen.
In diesem Fall können die Bahnen (hier auch Verantwortlichkeitsbereiche genannt) die Abteilungen darstellen, die diese Aktionen ausführen.
Jeder Knoten kann nur zu einer einzigen Bahn gehören.
Hinweis
Wenn das hierarchische Layout für das Anlegen von Knoten und Links in einer
Diagram-Komponente verwendet wird, die
Objekte für Bahnen enthält (Instanzen von ibm_ilog.graphlayout.Swimlane),
werden automatisch HierarchicalSwimLaneConstraint-Instanzen erstellt, um die untergeordneten
Verantwortlichkeitsobjekte in derselben Bahn zu platzieren und die richtige Größe für die Bahnen zu wählen.
Gehen Sie wie folgt vor, um eine Gruppe von Knoten einer Bahn zuzuordnen:
Rufen Sie Folgendes auf:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalSwimLaneConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalGroup(nodeArray)));
Alle Knoten des Knotenvektors werden in demselben Bahnrechteck platziert.
Wenn ein Graph viele Bahnrechtecke hat, wird die relative Reihenfolge dieser Bahnen
zueinander automatisch bestimmt.
Die Größe des Bahnrechtecks richtet sich nach den Knoten, die zur Bahn gehören.
Sie können die relative Reihenfolge, die relative Größe und die Ränder der Bahn aber auch mit dem folgenden Konstruktor festlegen:
new ibm_ilog.graphlayout.hierarchical. HierarchicalSwimLaneConstraint(group, relSize, posIndex , westMargin, eastMargin);)

Bahnen
Die relative Größe gibt an, wie groß diese Bahn verglichen mit den
anderen Bahnen ist.
Angenommen, die Arbeitsrichtung verläuft nach unten.
In diesem Fall gibt die relative Größe die Breite der Bahn an.
Alle Bahnen mit derselben relativen Größe haben dieselbe Breite.
Eine Bahn mit einer relativen Größe, die doppelt so hoch ist wie der Wert einer anderen
Bahn, ist doppelt so breit wie die andere Bahn.
Der tatsächliche Wert dieses Parameters spielt keine Rolle. Es wird geprüft, wie hoch der Wert im Vergleich mit den Werten der anderen
Bahnen ist.
Wenn Sie die Größe der Bahn nicht beschränken möchten, setzen Sie den Parameter auf den Wert
0. In diesem Fall ist die Breite der Bahn unabhängig von den anderen Bahnen.
Der minimale Rand ist der Rand der Bahn in absoluten Koordinaten.
Wenn die Arbeitsrichtung nach unten verläuft, ist der westliche minimale Rand der minimale
horizontale Abstand zwischen dem Knoten ganz links in der Bahn und dem linken Rand der Bahn und
der östliche minimale Rand der minimale horizontale Abstand zwischen dem Knoten ganz rechts in der Bahn und dem rechten Rand der Bahn.
Der Positionsindex gibt die Reihenfolge der Bahnen an.
Genau wie Knoten werden die Bahnen anhand ihres Positionsindex
automatisch sequenziell an relativen Positionen platziert, die von 0 bis n nummeriert sind.
In einem Top-down-Layout (Arbeitsrichtung von oben nach unten) ist die Bahn mit der Position
0 die Bahn ganz links, und die Bahnen mit höheren Positionsindizes werden weiter rechts platziert.
Wenn die Bahnen den Positionsindex -1 haben, bestimmt der Layoutalgorithmus
automatisch die richtige Position.
Eine Vorgabe für Bahnen wird immer ausgewertet, auch im inkrementellen Modus.
Die Vorgabe hat eine höhere Priorität als die Vorgabe für die relative Position und die Vorgabe für die Positionierung nebeneinander.
Sie können Vorgaben für die Positionierung nebeneinander für eine Gruppe von Knoten festlegen, die
zu derselben Bahn gehören, aber Vorgaben für die Positionierung nebeneinander für Knoten anderer Bahnen
werden ignoriert.
Sie können Vorgaben für die relative Positionierung zwischen Knoten derselben Bahn festlegen.
Sie können auch Vorgaben für die relative Positionierung zwischen einer vollständigen Bahngruppe
und einer anderen festlegen, womit effektiv die Bahnen sortiert werden. Vorgaben für die relative
Position werden jedoch ignoriert, wenn sie dazu führen, dass die Bahnen
auseinanderbrechen.
Die Vorgabe für Bahnen dominiert die angegebenen Positionsindizes, d. h., wenn eine Vorgabe für Bahnen
verwendet wird, können Sie weder Positionsindizes noch Vorgaben für westliche/östliche Grenzen für einen Knoten festlegen.
Tipp
Die automatische Konfliktlösung kann widersprüchliche Vorgaben auflösen.
Zur Beschleunigung des Layouts wird jedoch empfohlen, Vorgaben so anzugeben, dass keine Konflikte auftreten.