Globale Eigenschaften

Im Folgenden sind die gültigen globalen Eigenschaften in den nodeLayout- und linkLayout-Objekten eines Ausgangsgraphen bzw. Untergraphen aufgelistet:
Eigenschaft Beschreibung
algorithm Der Typ des auszuführenden Layouts. Die gültigen Werte sind circular, forcedirected, grid, hierarchical, longlink, random, shortlink, basiclinkstyle und tree.
<Name der clientseitigen globalen Eigenschaft> Der Name der Eigenschaft in der entsprechenden clientseitigen Layoutklasse. Es können alle globalen Eigenschaften der Typen number, boolean, point und rectangle angegeben werden.
Im folgenden Beispiel werden Werte für zwei globale Eigenschaften mit einem forcedirected-Layout festgelegt:
"nodeLayout": {
	"algorithm":"forcedirected", 
	"preferredLinkLength": 100,
	"respectNodeSizes": true
},
In dem an den Server übergebenen Graphen können die nodeLayout- und linkLayout-Objekte in jedem Untergraphen vorhanden sein, für den der Client das Layout ausführen möchte. Dies lässt die Verwendung unterschiedlicher Layoutalgorithmen für verschiedene Untergraphen zu. Sie können auch, wie im clientseitigen Graphenlayout, denselben Algorithmus mit unterschiedlichen Parametern anwenden. Das Fehlen der nodeLayout- oder linkLayout-Objekte für einen bestimmten Graphen oder Untergraphen zeigt an, dass kein Knoten- bzw. Linklayout für diesen Graphen bzw. Untergraphen ausgeführt werden muss.

Vorgaben für hierarchische Layouts

Das clientseitige HierarchicalLayout stellt eine erweiterte Anpassungs-API bereit, die verschiedene Typen von Vorgaben verwendet. In JSON beschreibt die Eigenschaft constraints die Vorgaben in einem Array, dessen Elemente JSON-Objekte mit den folgenden Eigenschaften sind:
Eigenschaft Beschreibung
name Der Typ der Vorgabe. Die gültigen Werte sind LevelRangeConstraint, GroupSpreadConstraint, RelativeLevelConstraint, ExtremityConstraint, RelativePositionConstraint, SameLevelConstraint, SideBySideConstraint und SwimLaneConstraint.
<Name der clientseitigen Vorgabeneigenschaft> Der Wert der Vorgabeneigenschaft.
Im folgenden Beispiel wird eine Vorgabe des Typs LevelRangeConstraint beschrieben:
"nodeLayout":{
      "algorithm":"hierarchical",
      "constraints":[
         {
            "name":"LevelRangeConstraint",
            "minLevel":0,
            "maxLevel":1,
            "nodes":[
               {
                  "id":"1"
               },
               {
                  "id":"2"
               }
            ]
         }
      ]
          ...
Hinweis
Ähnlich wie beim clientseitigen Layout werden beim serverseitigen Layout aus Containern des Typs SwimLane automatisch Vorgaben für Bahnen im hierarchischen Layout (HierarchicalSwimLaneConstraint) erstellt.

Clusteringparameter für zirkuläres Layout

Das clientseitige CircularLayout stellt eine API für die Spezifikation von Clustern bereit. In JSON beschreibt die Eigenschaft clusterIds die Cluster in einem Array, dessen Elemente JSON-Objekte mit den folgenden Eigenschaften sind:
Eigenschaft Beschreibung
name oder number Der Name oder die Nummer des Clusters. Die Eigenschaft name des Typs String wird für clientseitige Cluster verwendet, die mit der Klasse CircularClusterName identifiziert werden. Die Eigenschaft number des Typs integer wird für clientseitige Cluster verwendet, die mit der Klasse CircularClusterNumber identifiziert werden.
nodes Array, das die Knoten beschreibt, die zum angegebenen Cluster gehören. Für jeden Knoten werden die folgenden Attribute unterstützt: id, index und starCenter.
Im folgenden Beispiel werden ein Cluster des Typs CircularClusterName und ein Cluster des Typs CircularClusterNumber beschrieben:
"nodeLayout":{
      "algorithm":"circular",
      "clusterIds":[
         {
            "name":"first cluster",
            "nodes":[
               {
                  "id":"174",
		      "index":33,
                  "starCenter":true
               },
               {
                  "id":"190"
               }
            ]
         },
        {
            "number":2,
            "nodes":[
               {
                  "id":"179"
               },
               {
                  "id":"187"
               }
            ]
         }
    ...