Restricciones de propagación de grupo (DJ)

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).