Restrições de Raia (HL)

Raias são áreas retangulares ortogonais aos níveis.
  • Se a direção do fluxo do link for para a parte inferior ou para a parte superior, os níveis serão linhas horizontais e as raias serão colunas verticais.
  • Se a direção do fluxo for para a esquerda ou para a direita, os níveis serão colunas verticais e as raias serão linhas horizontais.
É possível usar raias se os nós forem particionados em grupos, para indicar quais nós pertencem a um determinado grupo. Os nós na mesma raia são posicionados de forma que seja possível desenhar um retângulo circundante ao redor deles. As raias permitem organizar o gráfico de uma maneira semelhante a uma tabela. For example, you can have a workflow diagram where nodes represent actions; the swimlanes could then represent the departments that perform these actions. Cada nó pode pertencer a apenas uma raia.
Nota
Quando o layout hierárquico for usado para organizar nós e links em um componente Diagram que contém objetos de raia (instâncias ibm_ilog.graphlayout.Swimlane), as instâncias HierarchicalSwimLaneConstraint serão criadas automaticamente para posicionar os objetos-filhos da raia na mesma área da raia e para dimensionar corretamente as raias.
Para designar um grupo de nós a uma raia:
Chame:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalSwimLaneConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalGroup(nodeArray)));
All nodes of the node vector are placed in the same swimlane rectangle. Se um gráfico tiver muitos retângulos de raias, a ordem relativa destas raias será determinada automaticamente. O tamanho do retângulo da raia depende dos nós que pertencem à raia. No entanto, é possível especificar a ordem relativa, o tamanho relativo e também as margens da raia usando o construtor:
new ibm_ilog.graphlayout.hierarchical. HierarchicalSwimLaneConstraint(group, relSize, posIndex , westMargin, eastMargin);)
Exemplo
que mostra três raias verticais
Raias
O tamanho relativo indica o tamanho desta raia comparado com as outras raias. Suponha que a direção do fluxo seja para a parte inferior. Neste caso, o tamanho relativo indica a largura da raia. All swimlanes with the same relative size have the same width. Uma raia com um tamanho relativo que é o dobro do valor de outra raia terá o dobro da largura da outra raia. O número real deste parâmetro não importa, apenas o tamanho do valor comparado com as outras raias. If you do not want to restrict the size of the swimlane, set the value to 0. In this case, the width of the swimlane is independent of the other swimlanes.
A margem mínima é a margem da raia em coordenadas absolutas. Se a direção do fluxo for para a parte inferior, a margem mínima oeste será a distância horizontal mínima entre o nó à esquerda da raia e a borda da raia esquerda e a margem mínima leste será a distância horizontal mínima entre o nó à direita da raia e a borda da raia direita.
O índice de posição indica a ordem das raias. Assim como os nós possuem índices de posição, as raias são colocadas sequencialmente em posições relativas numeradas de 0 a n. Em um layout de cima para baixo, a raia com a posição 0 é a raia à esquerda e as raias com índices de posição mais altos são posicionadas mais à direita. Se as raias tiverem o índice de posição -1, o algoritmo de layout determinará a posição apropriada automaticamente.
Uma restrição de raia é sempre avaliada, mesmo que o modo incremental esteja ativado. A restrição tem uma prioridade mais alta do que a restrição de posição relativa e a restrição lado a lado. É possível especificar restrições lado a lado para um grupo de nós que pertencem à mesma raia, mas as restrições lado a lado de nós de raias diferentes são ignoradas. É possível especificar restrições de posição relativa entre nós da mesma raia. Também é possível especificar restrições de posição relativa entre um grupo inteiro de raias e outro grupo de raias, que ordena as raias de forma eficiente. Mas as restrições de posição relativa serão ignoradas se exigirem a separação das raias. A restrição de raia domina os índices de posição e as restrições de extremidade especificados, ou seja, se for usada uma restrição de raia, não será possível especificar índices de posição ou restrições de extremidade leste/oeste para nenhum nó.
Dica
A resolução de conflitos automática pode manipular restrições conflitantes. No entanto, para acelerar o layout, é recomendável especificar restrições de forma que não haja conflitos.