Modos de Layout Invertidos

O desenho no modo de layout radial e no modo de layout livre pode ser ajustado de acordo com a proporção de aspecto da área de desenho. Para balancear a altura e espessura do desenho, o modo de layout livre também pode usar o alinhamento invertido.
Tip-over alignment can be specified explicitly for individual nodes. The Tree Layout algorithm also has layout modes that automatically use tip-over alignment when needed.
Os modos de layout invertidos funcionam da seguinte forma:
Vários layouts de tentativa são executados no modo de layout livre.
Para cada tentativa, o alinhamento invertido é configurado para alguns nós individuais, enquanto o alinhamento especificado dos demais nós é preservado.
O algoritmo seleciona o layout de tentativa que melhor se ajusta à proporção de aspecto especificada da área de desenho.
Use o método setAspectRatio, cujo valor é um Número.
Os modos invertidos são um pouco mais demorados do que os outros modos de layout.
For large trees, it is recommended that you set the allowed layout time to a high value (for instance, 50 seconds) when using the tip-over modes.
Para configurar este modo:
Chame:
layout.setAllowedTime(50000);
Usando esta chamada, você evita ter pouco tempo para iterações suficientes do algoritmo de layout. Como seria muito demorado verificar todas as possibilidades do uso do alinhamento invertido, existem heurísticas que verificam apenas algumas avaliações, de acordo com as seguintes estratégias diferentes mostradas na figura a seguir.
Picture
of tree layouts illustrating the different Tip Over layout mode options
Estratégias invertidas

Inverter Folhas

Para usar esta estratégia invertida, configure o modo de layout da seguinte forma:
treeLayout.setLayoutMode(ibm_ilog.graphlayout.tree.TreeLayout.TIP_LEAVES_OVER);
A heurística primeiro tenta o layout sem opções invertidas adicionais. Em seguida, ela tenta inverter as folhas, em seguida, as folhas e seus pais, em seguida, também os pais destes pais, e assim por diante. Portanto, os nós mais próximos da raiz usam o alinhamento normal e os nós mais próximos das folhas usam o alinhamento invertido.

Inverter Raízes

Para usar esta estratégia invertida, configure o modo de layout da seguinte forma:
treeLayout.setLayoutMode(ibm_ilog.graphlayout.tree.TreeLayout.TIP_ROOTS_OVER);
A heurística primeiro tenta o layout sem opções invertidas adicionais. Em seguida, ela tenta inverter o nó-raiz, em seguida, a raiz e seus nós-filhos, em seguida, também os nós-filhos destes nós-filhos e assim por diante. Portanto, os nós mais próximos das folhas usam o alinhamento normal e os nós mais próximos da raiz usam o alinhamento invertido.

Inverter Raízes e Folhas

Para usar esta estratégia invertida, configure o modo de layout da seguinte forma:
treeLayout.setLayoutMode(ibm_ilog.graphlayout.tree.TreeLayout.TIP_ROOTS_AND_LEAVES_OVER); 
A heurística primeiro tenta o layout sem opções invertidas adicionais. Em seguida, ela tenta inverter o nó-raiz e as folhas simultaneamente; em seguida, a raiz e seus nós-filhos e as folhas e o pai delas; em seguida, também os nós-filhos destes nós-filhos e os pais destes pais, e assim por diante. O resultado é que os nós no meio da árvore usam o alinhamento normal e os nós mais próximos da raiz ou das folhas usam o alinhamento invertido.
This strategy is the slowest, because it includes all trials of the strategy tip leaves over as well as all trials of the strategy tip roots over.

Inversão Rápida

A inversão rápida fornece um compromisso entre as demais estratégias. A heurística tenta uma pequena seleção das outras estratégias, nem todas as possibilidades. Portanto, é a estratégia mais rápida para gráficos grandes.
Para usar esta estratégia, configure o modo de layout da seguinte forma:
treeLayout.setLayoutMode(ibm_ilog.graphlayout.tree.TreeLayout.TIP_OVER);
É possível que todas as quatro estratégias gerem o mesmo resultado, porque as estratégias não são separadas; ou seja, algumas avaliações são executadas em todas as quatro estratégias. Além disso, os modos invertidos não produzem necessariamente o layout ideal que fornece o melhor ajuste à proporção de aspecto. A razão é que algumas configurações não usuais de alinhamento invertido nunca são tentadas, porque isso faria o tempo de execução ser muito alto.