En el Paso 2 del algoritmo de diseño (la fase de
reducción de intersecciones), los nodos se ordenan dentro de los
niveles. Todos los nodos que pertenecen al mismo nivel obtienen un
índice de posición empezando por 0. Por ejemplo, cuando la dirección
del flujo es hacia abajo, el nodo con el índice de posición 0 se
coloca en la posición más a la izquierda dentro de su nivel. Los
nodos que tienen un índice de posición mayor se colocan más a la
derecha que los nodos que tienen un índice de posición menor en el
mismo nivel. Los nodos de diferentes niveles son independientes. El
nodo del primer nivel cuyo índice de posición es 0 está a la
izquierda del nodo del primer nivel cuyo índice de posición es 1,
pero no necesariamente está a la izquierda de un nodo de otro nivel
cuyo índice de posición es 0. Los enlaces largos que cruzan un nivel
también obtienen un índice de posición (consulte
Índices de nivel y posición).
El algoritmo de diseño calcula estos índices de posición
automáticamente.
Puede alterar la forma en que se colocan los nodos
dentro de cada nivel especificando el índice de posición de algunos
nodos. Los nodos se colocan en la posición especificada dentro de su
nivel.
Para especificar el índice de posición de un nodo, utilice
el método:
layout.setSpecNodePositionIndex(node, 2);
El valor predeterminado es
-1
.
En caso de utilizarse el valor predeterminado, si un nodo se
establece en un índice de posición negativo o si un nodo se establece
en un índice de posición que es mayor que el número de nodos de su
nivel, el diseño calcula automáticamente un índice de posición
adecuado durante el paso de reducción de intersecciones. Para obtener el índice de posición actual de un nodo,
utilice el método:
var index = getSpecNodePositionIndex(node);