Esta seção mostra o uso do layout de árvore (classe TreeLayout do pacote ibm_ilog.graphlayout.tree).
The core algorithm for free, level, and radial layout
modes has just two steps and is fast. As variações de modo de
layout invertido executam a segunda etapa várias vezes e selecionam o resultado do layout
que melhor se ajusta à proporção de aspecto (a proporção entre a largura
e altura da área de desenho). Por isso, os modos de layout
invertidos são mais lentos.
- Etapa 1: Calculando a Árvore de Ampliação
- Se o gráfico estiver desconectado, o algoritmo de layout escolherá um nó-raiz para cada componente conectado. Começando com o nó-raiz, ele atravessa o gráfico para escolher os links da árvore de ampliação. Se o gráfico for uma árvore pura, todos os links serão escolhidos. If the graph has cycles, some links are not included as part of the spanning tree. Estes links são chamados de links não de árvore, enquanto os links da árvore de ampliação são chamados de links de árvore. Os links não de árvore são ignorados na etapa 2 do algoritmo.Nas figuras Layout de árvore em modo de layout livre com alinhamento central e direção do fluxo para a direita, Layout de árvore com direção do fluxo para a parte inferior, estilo de link ortogonal e alinhamento invertido em alguns nós folha e Layout de árvore em modo de layout radial com proporção de aspecto 1.5, a raiz é o nó que não possui nenhum nó-pai. Na árvore de ampliação, cada nó, exceto o nó-raiz, possui um nó-pai. Todos os nós que possuem o mesmo pai são chamados de nós-filhos em relação ao pai e de irmãos em relação um ao outro. Os nós sem nós-filhos são chamados de folhas. Cada nó-filho em um nó inicia uma subárvore (também chamada de ramificação da árvore).Uma árvore de ampliação
- Etapa 2: Calculando Posições do Nó e Formas de Link
- O algoritmo de layout organiza os nós de acordo com o modo de layout e as opções de deslocamento e de alinhamento. Em modo livre e em modo de nível, os nós são organizados de forma horizontal ou vertical para que todos os links da árvore fluam aproximadamente na mesma direção. Em modos de layout radiais, os nós são organizados em círculos ou em elipses ao redor da raiz para que todos os links da árvore fluam de forma radial para fora da raiz. Por último, as formas dos links são calculadas de acordo com o estilo do link e opções de alinhamento.
Exemplo de TL
A amostra de código a seguir usa a classe ibm_ilog.graphlayout.tree.TreeLayout. Esta amostra de código mostra como executar um Layout de Árvore:
var treeLayout = new ibm_ilog.graphlayout.tree.TreeLayout(); graph.setNodeLayout(treeLayout); graph.performGraphLayout();
Importante
Todas as explicações nas seções subsequentes relacionadas à
forma dos links no Layout de Árvore serão válidas apenas se o layout de
link estiver desativado.