Dojo Diagrammer unterstützt verschachtelte Graphen, d. h.,
das Produkt kann Graphen wiedergeben, die Knoten enthalten, die ebenfalls Graphen sind.
Ein Graph, der ein Knoten in einem anderen Graphen ist, wird als Untergraph bezeichnet. Links,
die Knoten verschiedener Untergraphen miteinander verbinden, werden als graphenübergreifende Links bezeichnet.
In Rekursives hierarchisches Layout für einen verschachtelten Graphen mit dem Linkstil "Mehrfachlinie"
sind alle roten Links graphenübergreifende Links und alle
schwarzen Links normale Links.
Dies wird ausführlich im Abschnitt
Verschachtelte Layouts erläutert.
Das hierarchische Layout kann einen verschachtelten Graphen sofort verarbeiten, indem er alle verschachtelten
Knoten platziert und alle Links, einschließlich der graphenübergreifenden Links
steuert.
Gehen Sie zum Aktivieren des rekursiven Modus wie folgt vor:
Verwenden Sie die folgende Methode:
layout.setRecursiveLayoutMode(enable);
Der rekursive Layoutmodus erfordert, dass alle Untergraphen
mit demselben Stil angelegt werden.
Alle Untergraphen müssen beispielsweise dieselbe Arbeitsrichtung haben.
Dies geschieht automatisch, wenn Sie keine individuellen Layouts pro Untergraph festlegen.
Wenn verschiedene Layoutstile pro Untergraph erforderlich sind, müssen Sie pro Untergraph ein
individuelles Layout angeben.
Weitere Einzelheiten finden Sie unter
Erweiterte Rekursion: Verschiedene Layouts in einem verschachtelten Graphen mischen
.
In diesem Fall kann das hierarchische Layout die graphenübergreifenden Links nicht steuern, und Sie müssen einen Link-Layout-Algorithmus
für die Steuerung der graphenübergreifenden Links verwenden.

Rekursives hierarchisches Layout für einen verschachtelten Graphen mit dem Linkstil "Mehrfachlinie"

Rekursives hierarchisches Layout für einen verschachtelten Graphen mit dem Linkstil "Orthogonal"
Layoutparameter im rekursiven Modus festlegen
Im rekursiven Layoutmodus wird das hierarchische Layout dem Ausgangsgraphen zugeordnet.
Globale Layoutparameter müssen in dieser Layoutinstanz definiert werden.
Layoutparameter pro Knoten oder pro Link müssen wie folgt definiert werden:
var sublayout = new ibm_ilog.graphlayout.hierarchical.HierarchicalLayout(); subgraph.setNodeLayout(sublayout); // The configuration of per node or per link parameters must be // done after attaching the layout to the subgraph sublayout.setSpecNodeLevelIndex(node, 5);
Das bedeutet, dass Layoutparameter pro Knoten oder pro Link nicht im Ausgangslayout
definiert werden können, sondern in einem Unterlayout, das
den Untergraphen anlegt.
Layoutvorgaben funktionieren im rekursiven Modus nur zwischen Knoten, die zu demselben Untergraphen gehören.
Vorgaben zwischen Knoten unterschiedlicher Untergraphen werden ignoriert. Die Konzepte EAST, WEST,
NORTH und SOUTH von Grenzvorgaben werden relative zum Untergraphen und nicht relativ zum globalen Graphen interpretiert.
Ähnlich wie die Layoutparameter pro Knoten oder pro Link muss die Vorgabe
in der Layoutinstanz des Untergraphen des Knotens definiert werden.
// node1, node2 is directly contained in subgraph var sublayout = topLevelLayout.getRecursiveLayout().getLayout(subgraph); sublayout.addConstraint(new ibm_ilog.graphlayout.SameLevelConstraint(node1, node2));
Vorgaben für Bahnen funktionieren im rekursiven Modus gar nicht.