Cette section décrit l'utilisation de l'agencement arborescent (classe TreeLayout du package ibm_ilog.graphlayout.tree).
L'algorithme central des modes d'agencement libre, en niveaux et radial ne comporte que deux étapes et est rapide. Les variations du mode d'agencement renversé exécutent la seconde étape plusieurs fois et choisissent le résultat d'agencement qui convient le mieux au rapport hauteur/largeur (rapport entre la largeur et la hauteur de la zone de tracé). Par conséquent, les modes d'agencement renversé sont plus lents.
- Etape 1 : Calculer l'arborescence fractionnée
- Si le graphe est déconnecté, l'algorithme d'agencement choisit un noeud racine pour chaque composant connecté. A partir du noeud racine, il passe à travers le graphe pour choisir les liens de l'arborescence fractionnée. Si le graphe est une arborescence pure, tous les liens sont choisis. Si le graphe comporte des cycles, certains liens ne sont pas inclus dans l'arborescence fractionnée. Ces liens sont appelés liens hors arborescence, tandis que les liens de l'arborescence fractionnée sont appelés liens d'arborescence. Les liens hors arborescence ne sont pas pris en compte lors de l'étape 2 de l'algorithme.Dans les figures Agencement arborescent en mode d'agencement libre avec un alignement au centre et une direction de flux vers la droite., Agencement arborescent avec une direction de flux vers le bas, un style de lien orthogonal et un alignement renversé au niveau de certains noeuds de feuille. et Agencement arborescent en mode d'agencement radial avec un rapport hauteur/largeur de 1,5, la racine est le noeud qui ne comporte aucun noeud parent. Dans l'arborescence fractionnée, chaque noeud, à l'exception de la racine, est associé à un noeud parent. Tous les noeuds associés au même parent sont appelés noeuds enfants, par rapport au parent, et noeuds frères, les uns par rapport aux autres. Les noeuds qui ne comportent aucun noeud enfant sont appelés feuilles. Chaque noeud enfant au niveau d'un noeud commence une sous-arborescence (également appelée branche de l'arborescence).Arborescence fractionnée
- Etape 2 : Calculer les positions de noeud et les formes de lien
- L'algorithme d'agencement organise les noeuds en fonction du mode d'agencement et des options de décalage et d'alignement. En mode libre et en mode à niveaux, les noeuds sont organisés horizontalement ou verticalement, de sorte que que tous les liens de l'arborescence s'écoulent à peu près dans la même direction. Dans les modes d'agencement radial, les noeuds sont organisés en cercles ou points de suspension autour de la racine, de sorte que tous les liens de l'arborescence s'écoulent en étoile à partir de la racine. Enfin, les formes de lien sont calculées en fonction des options de style de lien et d'alignement.
Exemple d'agencement arborescent
L'exemple de code suivant utilise la classe ibm_ilog.graphlayout.tree.TreeLayout. Cet exemple de code montre comment effectuer un agencement arborescent :
var treeLayout = new ibm_ilog.graphlayout.tree.TreeLayout(); graph.setNodeLayout(treeLayout); graph.performGraphLayout();
Important
Toutes les explications présentées dans les sections suivantes au sujet de la forme des liens dans l'agencement arborescent sont valides uniquement si l'agencement de liens est désactivé.