The choice of the appropriate algorithm for a graph can
be done either by the user at run time or by the programmer when developing
the application. Este processo pode ser semiautomático, quando o usuário é envolvido,
ou automático, quando o aplicativo
faz tudo sem intervenção do usuário.
Como um programador de aplicativos, é possível escolher
Layout Semiautomático para
envolver o usuário na opção do layout, ou
Layout Automático,
neste caso, o aplicativo faz tudo sem nenhuma ação do usuário.
Layout Semiautomático
Para aplicativos que usam um layout semiautomático, a opção
do algoritmo de layout é feita pelo usuário. O aplicativo pode fornecer um
menu ou alguma outra maneira de selecionar o algoritmo de layout.
In some cases, it can be an iterative process. O usuário pode tentar
diferentes algoritmos de layout com diferentes valores para os parâmetros
ou pode aplicar refinamentos manuais para localizar o melhor layout,
ou ambos. O aplicativo pode fornecer alguma ajuda usando explicações textuais ou verificando automaticamente o gráfico para descobrir a que classe ele pertence.
Por exemplo, para detectar se o gráfico que foi anexado
a uma instância de layout é uma árvore, a classe GraphLayoutUtil fornece o método:
IsTree(layout, startNode)
Para obter detalhes sobre este método, consulte ibm_ilog.graphlayout.GraphLayoutUtil.IsTree.
Layout Automático
Se for necessário um layout automático, a opção do algoritmo
de layout poderá ser:
- Chosen dynamically at run time with heuristics or rules to determine the appropriate layout algorithm depending on the structure or size of the graph, or both
- Hard-coded if the developer knows what types of graphs are used and can determine the appropriate layout algorithm.