Propriétés globales

Les propriétés globales suivantes sont valides sur les objets nodeLayout et linkLayout d'un graphe ou d'un sous-graphe de niveau supérieur :
Propriété Description
algorithme Type d'agencement à exécuter. Les valeurs valides sont : circular, forcedirected, grid, hierarchical, longlink, random, shortlink, basiclinkstyle et tree.
<nom de propriété globale côté client> Nom de la propriété dans la classe d'agencement côté client correspondante. Toutes les propriétés globales de type nombre, booléen, point et rectangle peuvent être spécifiées.
Cet exemple définit deux propriétés globales avec un agencement forcedirected :
"nodeLayout": {
	"algorithm":"forcedirected", 
	"preferredLinkLength": 100,
	"respectNodeSizes": true
},
Dans le graphe envoyé au serveur, les objets nodeLayout et linkLayout peuvent être présents dans tout sous-graphe pour lequel le client souhaite exécuter l'agencement. Cela permet la combinaison d'algorithmes d'agencement pour des sous-graphes différents. Cela vous permet également d'appliquer le même algorithme avec des paramètres différents, tout comme pour l'agencement de graphe côté client. L'absence des objets nodeLayout ou linkLayout pour un graphe ou un sous-graphe donné indique qu'aucun agencement de noeuds ou de liens ne doit être exécuté pour ce graphe ou sous-graphe.

Contraintes d'agencement hiérarchique

L'agencement hiérarchique HierarchicalLayout côté client fournit une API de personnalisation avancée utilisant différents types de contraintes. Dans JSON, la propriété constraints décrit les contraintes dans un tableau dont les éléments sont des objets JSON avec les propriétés suivantes :
Propriété Description
name Type de contrainte. Les valeurs valides sont les suivantes : LevelRangeConstraint, GroupSpreadConstraint, RelativeLevelConstraint, ExtremityConstraint, RelativePositionConstraint, SameLevelConstraint, SideBySideConstraint et SwimLaneConstraint.
<nom de la propriété de contrainte côté client> Valeur de la propriété de contrainte.
Cet exemple décrit une contrainte de type LevelRangeConstraint :
"nodeLayout":{
      "algorithm":"hierarchical",
      "constraints":[
         {
            "name":"LevelRangeConstraint",
            "minLevel":0,
            "maxLevel":1,
            "nodes":[
               {
                  "id":"1"
               },
               {
                  "id":"2"
               }
            ]
         }
      ]
          ...
Note
A l'instar de l'agencement côté client, l'agencement côté serveur construit automatiquement des contraintes d'agencement hiérarchique en couloir (HierarchicalSwimLaneConstraint) à partir de conteneurs de type SwimLane.

Paramètres de groupement (clustering) d'agencement circulaire

L'agencement circulaire CircularLayout côté client fournit une API pour spécifier des clusters. Dans JSON, la propriété clusterIds décrit les clusters dans un tableau dont les éléments sont des objets JSON avec les propriétés suivantes :
Propriété Description
name ou number Nom ou numéro du cluster. La propriété name de type String, est utilisée pour des clusters côté client identifiés par la classe CircularClusterName. La propriété number de type integer, est utilisée pour des clusters côté client identifiés par la classe CircularClusterNumber.
noeuds Tableau décrivant les noeuds appartenant au cluster donné. Pour chaque noeud, les attributs suivants sont pris en charge : id, index et starCenter.
Cet exemple décrit un cluster de type CircularClusterName et un cluster de type CircularClusterNumber:
"nodeLayout":{
      "algorithm":"circular",
      "clusterIds":[
         {
            "name":"first cluster",
            "nodes":[
               {
                  "id":"174",
		      "index":33,
                  "starCenter":true
               },
               {
                  "id":"190"
               }
            ]
         },
        {
            "number":2,
            "nodes":[
               {
                  "id":"179"
               },
               {
                  "id":"187"
               }
            ]
         }
    ...