Parámetros de espaciado

Desplazamiento de ramificaciones

La modalidad de diseño de globo tiene un espaciado mínimo sólo entre nodos, y no distingue entre los desplazamientos mínimos de hermanos, ramificaciones y relaciones padre-hijo. El espaciado mínimo entre nodos se controla mediante el desplazamiento de ramificaciones, como en la modalidad libre y la modalidad de nivel. El desplazamiento de hermanos y padre-hijo no afecta a la modalidad de diseño de globo.
Para especificar el desplazamiento mínimo entre nodos:
Utilice el método setBranchOffset:
treeLayout.setBranchOffset(20);

Espaciado de ángulo

Los ángulos entre los sectores de un globo y el radio del globo tienen más efecto en el espaciado del diseño que el desplazamiento mínimo. Una mala elección de los ángulos del sector requiere radios mayores para evitar solapamientos y, por consiguiente, un área más grande para el diseño. Por lo tanto, el diseño ofrece distintas modalidades de espaciado de ángulo.
En la figura siguiente, el diseño de la izquierda utiliza el espaciado de ángulo regular y el diseño de la derecha utiliza el espaciado de ángulo proporcional. A la derecha, el ángulo del sector del subárbol azul es mucho mayor que los ángulos del sector de cada subárbol verde, puesto que el subárbol azul es mayor que los subárboles verdes.
Espaciado
de ángulo en el diseño de globo: izquierda: regular, derecha:
(lento) proporcional
Espaciado de ángulo: izquierda: regular, derecha: proporcional (lento)
Para especificar el espaciado de ángulo:
Utilice el método setBalloonAngleSpacing:
treeLayout.setBalloonAngleSpacing(ibm_ilog.graphlayout.tree.TreeLayout.REGULAR);
Los valores válidos para la modalidad son:
ibm_ilog.graphlayout.tree.TreeLayout.REGULAR
El intervalo de ángulos disponibles en un nodo se divide de manera uniforme para que cada globo de subárbol en el nodo pueda ocupar el mismo ángulo. Esto parece uniforme pero suele desperdiciar espacio si los subárboles no son del mismo tamaño. Consulte la figura del espacio de ángulo, imagen de la izquierda.
ibm_ilog.graphlayout.tree.TreeLayout.FAST_PROPORTIONAL
El intervalo de ángulos disponibles en un nodo se divide proporcionalmente de forma que los globos de subárboles grandes en el nodo puedan ocupar ángulos mayores. En consecuencia, un subárbol grande requiere un radio menor, de ahí que esta modalidad utilice menos espacio. El algoritmo utiliza un método heurístico rápido para calcular los intervalos de ángulos. Este método heurístico no es preciso y a veces genera diseños asimétricos. La calidad del resultado depende en gran medida de la elección del ángulo inicial. El método heurístico se ejecuta en tiempo lineal.
ibm_ilog.graphlayout.tree.TreeLayout.PROPORTIONAL
Igual que la modalidad proporcional rápida: el intervalo de ángulos disponibles en un nodo se divide proporcionalmente de forma que los globos de subárboles grandes en el nodo puedan ocupar ángulos mayores. Sin embargo, el algoritmo utiliza un método heurístico lento que es más preciso, utiliza aún mejor el espacio y genera diseños simétricos. La calidad del resultado no depende de la elección del ángulo inicial. El método heurístico se ejecuta en tiempo cuadrático. Esta es la modalidad predeterminada. Consulte la figura del espacio de ángulo, imagen de la derecha.

Modalidad de radio

Cuando se han elegido los ángulos del sector para los globos de subárboles, debe calcularse el radio (longitud del enlace desde el padre hasta el hijo) de modo que no se solape ningún subárbol. La elección de radio es un compromiso entre simetría y área. Elegir un radio uniforme para todos los nodos hijo del mismo padre a menudo requiere mucho espacio. Consulte la figura que muestra ejemplos de diseños de radio uniforme y variable, imagen superior izquierda. Si el radio es variable, las simetrías se pierden. Como solución de compromiso, puede optar por tener un radio variable sólo para globos de subárboles grandes y mantener un radio uniforme para todos los nodos finales de un padre. Consulte la figura que muestra ejemplos de diseños de radio uniforme y variable, imagen superior derecha, donde el enlace hacia el subárbol azul es más largo que los enlaces hacia los subárboles verdes. Si las simetrías no son importantes, se puede seleccionar una fase de optimización adicional que aproxima los globos. La fase de optimización se puede aplicar a los subárboles que no son nodos finales. Consulte la figura que muestra ejemplos de diseños de radio uniforme y variable, imagen inferior izquierda. Esta fase también se puede utilizar para aproximar los nodos finales Consulte las figuras que muestran ejemplos de diseños de radio uniforme y variable, imagen inferior derecha. En el último caso, los nodos finales suelen estar diseminados y no forman un círculo.
Modalidad
de diseño de globo, modalidad de radio: izquierda: uniforme, derecha:
nodos finales uniformes (los subárboles más grandes tienen radio
variable)
Modalidad de radio: izquierda: uniforme, derecha: nodos finales uniformes (los subárboles más grandes tienen radio variable)
Modalidad
de diseño de globo, modalidad de radio: izquierda: nodos finales
uniformes optimizados, derecha: variable
optimizada.
Modalidad de radio: izquierda: nodos finales uniformes optimizados, derecha: variable optimizada
Para especificar la modalidad de radio:
Utilice el método setBalloonRadiusMode:
treeLayout.setBalloonRadiusMode(ibm_ilog.graphlayout.tree.TreeLayout.UNIFORM_RADIUS);
Los valores válidos para mode son:
ibm_ilog.graphlayout.tree.TreeLayout.UNIFORM_RADIUS
Los radios de todos los globos de subárboles que son nodos hijo del mismo nodo son uniformes. Esta modalidad requiere la mayor área, pero también proporciona el mayor número de simetrías en el diseño. Sin embargo, si el árbol no está equilibrado, normalmente desperdicia mucho espacio. Consulte la figura de radio variable, imagen superior izquierda.
ibm_ilog.graphlayout.tree.TreeLayout.UNIFORM_LEAVES_RADIUS
Los radios de todos los nodos finales que son nodos hijo del mismo nodo son uniformes; sin embargo, el radio de un globo que contienen más de un nodo puede variar. Este valor es mejor para árboles desequilibrados puesto que utiliza mucho mejor el espacio disponible. Utilice este valor si las simetrías del diseño son importantes. Consulte la figura de radio variable, imagen superior derecha.
ibm_ilog.graphlayout.tree.TreeLayout.VARIABLE_RADIUS
El radio de todos los globos hijo distintos en el mismo nodo padre puede variar. Varía incluso para los nodos hijo del mismo nodo, si estos nodos hijo tienen diferentes tamaños de nodo.
TreeLayout.OPTIMIZED_UNIFORM_LEAVES_RADIUS
La ubicación inicial se realiza como en la modalidad de radio de nodos finales uniformes. Además, una optimización heurística aproxima los subárboles para reducir los radios. Esto tiene la ventaja de que los requisitos de espacio son menores, pero se pierden simetrías en el diagrama. Los nodos finales que tienen el mismo nodo padre todavía conservan el mismo radio. Consulte la figura de radio variable, imagen inferior izquierda.
ibm_ilog.graphlayout.tree.TreeLayout.OPTIMIZED_VARIABLE_RADIUS
La ubicación inicial se realiza como en la modalidad de radio variable. Además, una optimización heurística aproxima los subárboles para reducir los radios. Esto tiene la ventaja de que los requisitos de espacio son menores, pero se pierden simetrías en el diagrama. Afecta incluso a los nodos finales del mismo padre, por lo que pueden acabar estando bastante diseminados alrededor del padre. Consulte la figura de radio variable, imagen inferior derecha.