Layoutmodus (LL)
Die Abbildung Modi für kurze und lange orthogonale Links zeigt einen kleinen Beispielgraphen
in den Modi für kurze und lange Links.
Im Modus für kurze Links werden die Links gut gebündelt.
Aufgrund der Bündelung scheinen einige rote Links nicht mit den grünen Knoten verbunden zu sein.
Der Algorithmus findet keinen Pfad für die langen roten Links, ohne einige
Knoten zu schneiden oder ohne den grünen Link zu schneiden.
Der Modus für lange Links arbeitet in einem Raster. Er ist speziell für lange
Links bestimmt und vermeidet Überschneidungen von Knoten oder Linksegmenten.
Er kann eine Verbindung zu den grünen Knoten herstellen, indem er Verbindungspunkte an verschiedenen Seiten der Endknoten auswählt.
Dieser Vorteil geht jedoch zu Lasten eines weniger regelmäßigen Struktur, in der die Links
nicht gebündelt sind und die eine höhere Anzahl an Linkkreuzungen aufweist.

Modi für kurze und lange orthogonale Links
Wahl des richtigen Layouts (LL)
Der Modus für kurze Links muss verwendet werden, wenn eine der folgenden Bedingungen zutrifft:
- Die meisten Links sind kurz, und es stellt kein schwerwiegendes Problem dar, wenn lange Links Hindernisse schneiden.
- Die Linkpfade müssen frei platziert werden und können nicht auf ein Raster beschränkt werden.
- Die Begrenzung der Kurvenanzahl ist wichtig.
Der Modus für lange Links muss verwendet werden, wenn eine der folgenden Bedingungen zutrifft:
- Viele Links sind lang, und es ist wichtig, dass lange Links keine Hindernisse schneiden.
- Es gibt bevorzugte Pfade, weil die Knoten bereits in einem Raster platziert sind.
- Es ist wichtig, einen garantierten Mindestabstand zwischen Linksegmenten zu haben.
- Eine höhere Anzahl an Kurven ist akzeptabel, wenn dadurch Überschneidungen vermieden werden.
Mit dem Layout mit langen Links Pfade in einem Labyrinth finden zeigt, wie der Modus für lange Links
verwendet werden kann, um eine orthogonale Pfade ohne Überschneidungen
in einem Labyrinth von Knotenhindernissen zu finden.

Mit dem Layout mit langen Links Pfade in einem Labyrinth finden
Linkstil (LL)
Die Layoutalgorithmen unterstützen zwei Linkstile. Sie können den Linkstil global
festlegen. In diesem Fall haben alle Links dieselbe Form. Sie können den Linkstil aber auch
lokal für jeden einzelnen Link festlegen. In diesem Fall kommen verschiedene Linkformen in derselben Zeichnung vor.
Globaler Linkstil
Bespiel für die Festlegung des globalen Linkstils (Link-Layout-Algorithmen)
Gehen Sie wie folgt vor, um den globalen Linkstil festzulegen:
Verwenden Sie die Methode setGlobalLinkStyle:
layout.setGlobalLinkStyle(ibm_ilog.graphlayout.shortlink.ShortLinkLayout.ORTHOGONAL_STYLE);
Sie können je nach Layout, mit dem Sie arbeiten,
ibm_ilog.graphlayout.shortlink.ShortLinkLayout.ORTHOGONAL_STYLE oder ibm_ilog.graphlayout.longlink.LongLinkLayout.ORTHOGONAL_STYLE verwenden.
Die Werte der beiden Konstanten sind dieselben.
Die gültigen Werte sind folgende:
- ibm_ilog.graphlayout.shortlink. ShortLinkLayout.ORTHOGONAL_STYLE oder ibm_ilog.graphlayout.longlink. LongLinkLayout.ORTHOGONAL_STYLE (Standardwert)Die Links werden in eine orthogonale Form (abwechselnde horizontale und vertikale Segmente) umgestaltet. Verwenden Sie Layout mit kurzen orthogonalen Links und Layout mit langen orthogonalen Links als Beispiele.
- ibm_ilog.graphlayout.shortlink. ShortLinkLayout.DIRECT_STYLE oder ibm_ilog.graphlayout.longlink. LongLinkLayout.DIRECT_STYLEDie Links werden in eine Mehrfachlinie umgeformt, die sich aus drei Segmenten zusammensetzt: einem Segment mit gerader Linie (siehe straight-line), mit einem kleinen horizontalen oder vertikalen Segment beginnt und endet. Ein Beispiel finden Sie in Derselbe Graph im Layout mit kurzen direkten Links.
- ibm_ilog.graphlayout.shortlink. ShortLinkLayout.MIXED_STYLE oder ibm_ilog.graphlayout.longlink. LongLinkLayout.MIXED_STYLEJeder Link kann einen anderen Linkstil haben. Der Stil jedes einzelnen Links kann definiert werden, so dass verschiedene Linkformen in demselben Graphen vorkommen können.
Individueller Linkstil
Alle Links haben denselben Formstil, sofern der Parameter für den globalen
Linkstil nicht auf MIXED_STYLE gesetzt ist.
Nur, wenn der Parameter für den globalen Linkstil
auf MIXED_STYLE gesetzt ist, kann jeder Link einen eigenen Linkstil haben.

Mischung verschiedener Linkstile in derselben Zeichnung (Layout mit kurzen Links)

Mischung verschiedener Linkstile in derselben Zeichnung (Layout mit langen Links)
Bespiel für die Festlegung des individuellen Linkstils (Link-Layout-Algorithmen)
Gehen Sie wie folgt vor, um den Stil eines einzelnen Links festzulegen und abzurufen:
Verwenden Sie die folgenden Methoden:
layout.setLinkStyle(link, ibm_ilog.graphlayout.shortlink.ShortLinkLayout.ORTHOGONAL_STYLE);
var style = layout.getLinkStyle(node);
Die gültigen Werte sind folgende:
- ibm_ilog.graphlayout.shortlink.ShortLinkLayout.ORTHOGONAL_STYLE oder ibm_ilog.graphlayout.longlink.LongLinkLayout.ORTHOGONAL_STYLE (Standardwert)
- ibm_ilog.graphlayout.shortlink.ShortLinkLayout.DIRECT_STYLE oder ibm_ilog.graphlayout.longlink.LongLinkLayout.DIRECT_STYLE
- ibm_ilog.graphlayout.shortlink.ShortLinkLayout.NO_RESHAPE_STYLE oder ibm_ilog.graphlayout.longlink.LongLinkLayout.NO_RESHAPE_STYLE (d. h., der Link wird nicht umgeformt)
Endpunktmodus (LL)
Der Layoutalgorithmus unterstützt zwei Endpunktmodi. Sie können den
Endpunktmodus global festlegen. In diesem Fall haben alle Endpunkte denselben Modus. Sie können
den Modus aber auch lokal für jeden Link festlegen. In diesem Fall können in derselben Zeichnung
verschiedene Endpunktmodi vorkommen.
Globaler Endpunktmodus
Beispiel für die Festlegung des globalen Endpunktmodus (Link-Layout-Algorithmus)
Gehen Sie zum Festlegen des globalen Endpunktmodus wie folgt vor:
Verwenden Sie die Methoden setGlobalOriginPointMode und setGlobalDestinationPointMode.
Die gültigen Werte für die Bestimmung des Modus sind folgende:
- ibm_ilog.graphlayout.shortlink.ShortLinkLayout.FREE_MODE oder ibm_ilog.graphlayout.longlink.LongLinkLayout.FREE_MODE (Standardwert)Das Layout kann die geeignete Position des Verbindungspunkts im Ursprungs- bzw. Zielknoten frei wählen.
- ibm_ilog.graphlayout.shortlink.ShortLinkLayout.FIXED_MODE oder ibm_ilog.graphlayout.longlink.LongLinkLayout.FIXED_MODEDas Layout muss die aktuelle Position des Verbindungspunkts im Ursprungs- bzw. Zielknoten beibehalten.
- ibm_ilog.graphlayout.shortlink.ShortLinkLayout.MIXED_MODE oder ibm_ilog.graphlayout.longlink.LongLinkLayout.MIXED_MODEJeder Link kann einen anderen Endpunktmodus haben.
Individueller Endpunktmodus
Alle Links haben denselben Endpunktmodus, sofern der Parameter für den globalen
Endpunktmodus nicht auf MIXED_MODE gesetzt ist.
Nur, wenn der globale Endpunktmodus auf MIXED_MODE gesetzt ist, kann jeder Link einen
eigenen Endpunktmodus haben.
Beispiel für die Festlegung eines individuellen Endpunktmodus (Link-Layout-Algorithmus)
Gehen Sie wie folgt vor, um den Modus eines einzelnen Links festzulegen:
Verwenden Sie die folgenden Methoden:
layout.setOriginPointMode(link, mode)
var mode = getOriginPointMode(link)
layout.setDestinationPointMode(link, mode)
var mode = getDestinationPointMode(link)
Die gültigen Werte für mode sind folgende:
- ibm_ilog.graphlayout.shortlink.ShortLinkLayout.FREE_MODE oder ibm_ilog.graphlayout.longlink.LongLinkLayout.FREE_MODE (Standardwert)
- ibm_ilog.graphlayout.shortlink.ShortLinkLayout.FIXED_MODE oder ibm_ilog.graphlayout.longlink.LongLinkLayout.FIXED_MODE
Inkrementeller Modus (LL)
Der Link-Layout-Algorithmus verlegt normalerweise alle Links neu.
Wenn der Graph inkrementell geändert wird, weil Sie Knoten hinzufügen oder entfernen,
können die nachfolgenden Layouts erheblich von dem jeweils vorherigen abweichen.
Um diesen Effekt zu vermeiden und dem Benutzer dabei zu helfen, sich den Graphen merken zu können,
hat der Algorithmus einen inkrementellen Modus.
Beispiel für das Aktivieren des inkrementellen Modus (LL-Algorithmus)
Gehen Sie zum Aktivieren des inkrementellen Modus wie folgt vor:
Verwenden Sie die Methode setIncrementalMode:
layout.setIncrementalMode(true);
Im inkrementellen Modus versucht das Layout, die Änderungen am Layout zu minimieren.
Ein Link wird nur dann neu verlegt, wenn er neu ist, wenn eine Linkkurve verschoben wurde, wenn sich die
Layoutparameter geändert haben oder wenn ein Knoten so verschoben wurde, dass er den Link schneidet.
Im Modus für kurze Links behalten die Links, sofern das nächste Layout inkrementell ist,
die Verbindungsseite bei, und die allgemeine Form wird anhand eines vorherigen Layouts berechnet, falls
nicht einer der Endknoten verschoben oder in der Größe geändert wurde.
Im Modus für lange Links wird ein neuer Pfad für die Links gesucht, die nicht mehr im Raster enthalten sind oder die Knoten schneiden.
Die Form und die Verbindungsseite der neu verlegten Links kann sich vollständig ändern.
Links, die bereits im Raster enthalten sind oder keine Knoten bzw. anderen Links schneiden, werden im inkrementellen Modus nicht neu verlegt.
Sie können auch festlegen, welcher Link beim nächsten inkrementellen Layout neu verlegt werden muss, selbst wenn sich das Layout nicht verändert hat.
Beispiel für die Angabe eines beim nächsten inkrementellen Layout neu zu verlegenden Links (Link-Layout-Algorithmus)
Gehen Sie wie folgt vor, um einen einzelnen Link auszuwählen, der im inkrementellen Modus neu verlegt werden soll:
Verwenden Sie die folgende Methode:
layout.markForIncremental(link)
Verlegen graphenübergreifender Links (LL)

Verschachtelter Graph mit normalen Links (blau) und graphenübergreifenden Links (rot)
Standardmäßig verlegt das Link-Layout normale Links und die graphenübergreifenden Links.
Beispiel für das ausschließliche Verlegen normaler Links (Link-Layout-Algorithmus)
Wenn nur normale Links verlegt werden sollen, inaktivieren Sie das Verlegen graphenübergreifender Links:
Verwenden Sie die Methode setInterGraphLinksMode:
layout.setInterGraphLinksMode(false);
Beispiel für das Verlegen graphenübergreifender und/oder normaler Links (Link-Layout-Algorithmus)
Wenn der Modus für graphenübergreifende Links aktiviert ist, können Sie festlegen, ob nur die graphenübergreifenden Links
oder die graphenübergreifenden Links und die normalen Links gleichzeitig verlegt werden.
Definieren Sie die Methode setCombinedInterGraphLinksMode so, dass beim nächsten
Layout die graphenübergreifenden Links verlegt, aber alle normalen Links nicht umgeformt werden.
layout.setCombinedInterGraphLinksMode(false);
Definieren Sie die Methode setCombinedInterGraphLinksMode so, dass beim nächsten
Layout die normalen Links und die graphenübergreifenden Links verlegt werden.
layout.setCombinedInterGraphLinksMode(true);
Wenn der Modus für graphenübergreifende Links aktiviert ist,
kann das Layout die Links nicht inkrementell verlegen.
Weitere Informationen finden Sie unter Inkrementeller Modus (LL).
Das Layout verlegt nur die Links, die zum zugeordneten Graphen gehören.
In einem verschachtelten Graphen ist jeder Untergraph einer anderen Layoutinstanz zugeordnet.
Deshalb werden beim Starten eines normalen (nicht rekursiven)
Layouts für den Ausgangsgraphen (siehe Verschachtelter Graph mit normalen Links (blau) und graphenübergreifenden Links (rot)
) nicht alle
Links verlegt, die in dieser Abbildung gezeigt werden, sondern nur die Links, die zum Ausgangsgraphen gehören.
In der folgenden Abbildung zeigt die gelbe Schattierung den Untergraphen an, auf den das nicht rekursive
Link-Layout momentan angewendet wird.
Der Ausgangsgraph befindet sich auf der linken Seite, und auf der rechten Seite befindet sich der Untergraph, der gelb schattiert ist.
Wenn der Modus für graphenübergreifende Links aktiviert ist,
werden sowohl die roten (graphenübergreifenden) und die blauen (normalen) Links verlegt.
Wenn der Modus für graphenübergreifende Links inaktiviert ist,
werden nur die blauen (normalen) Links verlegt.
Die grauen Links werden nicht verlegt, weil sie nicht zu dem Graphen gehören, auf den das Link-Layout angewendet wird.

In einem verschachtelten Graphen verlegte Links: Ausgangsgraph und dann Untergraph
Gehen Sie wie folgt vor, um alle Links eines verschachtelten Graphen zu verlegen:
- Verwenden Sie den Standardvererbungsmechanismus, der das im Ausgangsgraphen angegebene Link-Layout auch auf die Untergraphen anwendet.Alternativ
- Geben Sie in jedem Untergraphen explizit ein Link-Layout an.