A l'étape 2 de l'algorithme d'agencement (phase de réduction des intersections), les noeuds sont classés au sein des niveaux. Tous les noeuds qui appartiennent au même niveau
obtiennent un index de position qui démarre à 0. Par exemple,
lorsque la direction de flux est vers le bas, le noeud avec l'index de position
0 est placé à la position la plus à gauche au sein de son niveau. Les noeuds
ave un index de position plus élevé sont placés plus à droite que les noeuds
avec un index de position plus faible au même niveau. Les noeuds
de différents niveaux sont indépendants. Le noeud du premier niveau
avec l'index de position 0 est situé à gauche du noeud du premier niveau
avec l'index de position 1, mais pas nécessairement à à gauche d'un noeud
d'un autre niveau avec l'index de position 0. Les liens longs qui traversent un niveau
obtiennent également un index de position (voir Index de niveau et de position ). L'algorithme d'agencement calcule ces index de position automatiquement.
Vous pouvez définir comment les noeuds sont positionnés au sein de chaque niveau
en indiquant l'index de position de certains noeuds. Les noeuds sont
placés à la position spécifiée au sein de leur niveau.
Pour spécifier l'index de position d'un noeud,
utilisez la méthode suivante :
layout.setSpecNodePositionIndex(node, 2);
La valeur par défaut est
-1
. Si la valeur par défaut est utilisée, si un noeud est défini sur un index de position négative, ou si un noeud est défini sur un index de position supérieur au nombre de noeuds de son niveau, l'agencement calcule automatiquement un index de position approprié au cours de l'étape de réduction des intersections. Pour obtenir l'index de position actuel d'un noeud, utilisez la méthode suivante :
var index = getSpecNodePositionIndex(node);