Para obligar a colocar un nodo en el primer nivel, puede
especificar:
layout.setSpecNodeLevelIndex(node, 0);
Sin embargo, no se puede especificar un índice de nivel
para el último nivel porque al principio del diseño no se sabe
cuántos niveles se han creado. No es aconsejable especificar:
layout.setSpecNodeLevelIndex(node, Number.MAX_VALUE);
porque crea muchos niveles vacíos entre los niveles
utilizados y el último. Aunque estos niveles vacíos se eliminen en
pasos posteriores del proceso, esto afecta a la velocidad y a la
calidad del diseño. (De hecho, el algoritmo se queda sin memoria si
se establece un índice de nivel exagerado).
Mediante restricciones se puede conseguir el mismo
efecto con más eficacia.
Para obligar a colocar un nodo en el primer nivel:
Llame a:
layout.addConstraint(new ibm_ilog.graphlayout.hierarchical.HierarchicalExtremityConstraint(node, ibm_ilog.graphlayout.hierarchical.HierarchicalLayout.NORTH));
Para obligar a colocar un nodo en el último nivel:
Llame a:
layout.addConstraint( new ibm_ilog.graphlayout.hierarchical.HierarchicalExtremityConstraint(node, ibm_ilog.graphlayout.hierarchical.HierarchicalLayout.SOUTH));
Con los puntos cardinales como referencia (consulte
Parámetro caras del puerto (DJ)),
el primer nivel indica el polo norte y el último nivel indica el polo
sur. También puede especificar restricciones de extremo para los
lados este y oeste:
layout.addConstraint( new ibm_ilog.graphlayout.hierarchical.HierarchicalExtremityConstraint(node1, ibm_ilog.graphlayout.hierarchical.HierarchicalLayout.EAST)); layout.addConstraint( new ibm_ilog.graphlayout.hierarchical.HierarchicalExtremityConstraint(node2, ibm_ilog.graphlayout.hierarchical.HierarchicalLayout.WEST));
La restricción de extremo oeste obliga a colocar el nodo
en el índice de posición más bajo dentro de su nivel, y restricción
de extremo este obliga a colocar el nodo en el índice de posición más
alto dentro de su nivel. Los índices de posición especifican la
posición relativa dentro del nivel. Por ejemplo, un nodo con la
restricción de extremo oeste es el nodo de más a la izquierda dentro
de su nivel, si la dirección del flujo es hacia abajo. Sin embargo,
esto no afecta a los demás niveles; puede haber un nodo en otro nivel
que esté colocado más a la izquierda.
En la figura siguiente se muestran algunas restricciones
de extremo.

Esquema de restricciones de extremo