Na Etapa 2 do algoritmo de layout (a fase de redução
de cruzamentos), os nós foram ordenados dentro dos níveis. Todos os nós que pertencem
ao mesmo nível obtêm um índice de posição começando em 0. Por exemplo, quando a direção
do fluxo for para a parte inferior, o nó com o índice de posição
0 será posicionado à esquerda em seu nível. Os nós com um índice de posição
maior são posicionados mais à direita do que os nós com
um índice de posição menor no mesmo nível. Os nós de níveis
diferentes são independentes. The node of the first level with
the position index 0 is to the left of the node of the first level
with the position index 1, but not necessarily to the left of a node
of another level with position index 0. Long links crossing a level
also obtain a position index (see Índices de nível e de posição). O algoritmo
de layout calcula estes índices de posição automaticamente.
É possível afetar como os nós são posicionados em cada nível,
especificando o índice de posição de alguns nós. Os nós são colocados
na posição especificada em seu nível.
Para especificar o índice de posição de um nó, use o método:
layout.setSpecNodePositionIndex(node, 2);
O valor padrão é
-1
. Se o valor padrão
for usado, se um nó estiver configurado para um índice de posição negativo,
ou se um nó estiver configurado para um índice de posição que seja maior que o número
de nós de seu nível, o layout calculará automaticamente
um índice de posição apropriado durante a etapa de redução de cruzamentos. Para obter o índice de posição atual de um nó, use o método:
var index = getSpecNodePositionIndex(node);