Un forma alternativa de obligar a un grupo de nodos a
estar en el mismo nivel es especificando una restricción de
propagación de grupo con un tamaño de propagación de cero (0). En
general, la restricción de propagación de grupo obliga a colocar un
grupo de nodos en
k+1 niveles
posteriores. El número
k es el tamaño de
propagación. No selecciona el índice de nivel más bajo o más alto del
grupo; sólo exige que los nodos se coloquen a una distancia máxima de
k niveles. Por ello, si
k=0, todos los
nodos del grupo se colocan en el mismo nivel.
Para ilustrar la restricción de propagación de grupo
general en los nodos cuyo ID es “nodeA’, “nodeB” y “nodeC”:
Para utilizar la restricción de propagación de grupo,
llame a:
var nodeGroup = new ibm_ilog.graphlayout.hierarchical.HierarchicalNodeGroup(); nodeGroup.add(nodeA); nodeGroup.add(nodeB); nodeGroup.add(nodeC); layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalGroupSpreadConstraint(nodeGroup, 2));
La restricción se satisface si el índice de nivel más
alto de
nodeA
,
nodeB
y
nodeC
no está separado más de
dos niveles del índice de nivel más bajo de los nodos. Por ejemplo,
la restricción se satisface si los índices de nivel de
nodeA
,
nodeB
y
nodeC
son 1, 2, 3; o si son 7,
8, 9; o si son 16, 14, 15. La restricción también se satisface si los
tres nodos se colocan en el nivel 5, o si dos de los nodos se colocan
en el nivel 15 y el tercero en el nivel 13. La restricción no se
satisface si los índices de nivel de
nodeA
,
nodeB
y
nodeC
son 3, 5, 6, porque en
este caso el índice más alto (6) está a más de dos niveles del índice
más bajo (3).