Escolhendo um Algoritmo de Layout

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.