Trabalhar com índices de posição de nó absoluta é inconveniente
em algumas situações. For example, if two nodes belong to the same
level, you might want to force one node to a position with a lower
index than the other node without fixing the absolute positions of
the nodes. You can achieve it by using a relative position constraint.
A restrição de posição relativa força uma ordem específica
nos nós de um nível, mas não especifica quais nós são
vizinhos diretos. For instance, a relative position constraint
can force
nodeA
to be placed somewhere
at a lower position than nodeB
, but there
can be many nodes between nodeA
and nodeB
. Chame:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalRelativePositionConstraint(nodeA,nodeB,priority));
Isto força
nodeA
para uma posição
inferior a nodeB
. Se a direção do fluxo
for para a parte inferior, os nós estarão em níveis horizontais; portanto, a restrição
significa que nodeA
será posicionado
à esquerda de nodeB
. Se a direção do fluxo
for para a direita, os nós estarão em níveis verticais; portanto, a restrição
significa que nodeA
será posicionado abaixo de nodeB
. A restrição de posição relativa terá efeito apenas se os dois
nós realmente pertencerem ao mesmo nível. To achieve it, you can,
for instance, use a same level constraint in addition. Não existe uma maneira
de influenciar a posição relativa de nós que pertencem
a níveis diferentes.
Semelhante à restrição de nível relativo, a restrição de posição relativa
pode ser aplicada a grupos de nós. Estas restrições
também têm prioridades que indicam quais restrições dominarão
se ocorrer um conflito de restrições. Quando mais alta a prioridade, maior a probabilidade
de a restrição ser atendida durante a resolução de conflitos de restrições.