Parámetros específicos de FL

Los parámetros siguientes son específicos de la clase ForceDirectedLayout.

Estilo de enlace (FL)

Cuando el algoritmo de diseño mueve los nodos, los enlaces straight-line “seguirán” automáticamente las nuevas posiciones de sus nodos finales. Si el gráfico contiene otros tipos de enlaces, la forma del enlace puede que no sea adecuada porque los puntos intermedios del enlace no se mueven. En este caso, puede solicitar al algoritmo de diseño que elimine automáticamente todos los puntos intermedios de los enlaces (si hay alguno).
Para especificar que el algoritmo elimine automáticamente todos los puntos intermedios de los enlaces (si hay alguno):
Ejemplo de cómo establecer el estilo de enlace
forceDirectedLayout.setLinkStyle(
  ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout.STRAIGHT_LINE_STYLE);  
Los valores válidos para el estilo de enlace son:
  • ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout.NO_RESHAPE_STYLE
    No se cambia la forma de ningún enlace.
    ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout.STRAIGHT_LINE_STYLE
    Se eliminan todos los puntos intermedios de los enlaces (si hay alguno). Este es el valor predeterminado.

Cómo conectar enlaces al centro del nodo (FL)

Esta característica la comparten todas las subclases del Diseño de estilo de enlace básico. Para obtener más información, consulte Conectar enlaces al centro del nodo.

Características multienlace y autoenlace (FL)

Estas características las comparten todas las subclases del Diseño de estilo de enlace básico. Para obtener más información, consulte Características multienlace y autoenlace .

Número de iteraciones (FL)

El cálculo iterativo del algoritmo de diseño se detiene si se supera el tiempo permitido (consulte Tiempo permitido) o si el número de iteraciones supera el número permitido de iteraciones.
Para especificar el número de iteraciones:
Ejemplo de cómo establecer el número permitido de iteraciones
forceDirectedLayout.setAllowedNumberOfIterations(100);  

Longitud preferida (FL)

El principal objetivo de este algoritmo de diseño es obtener un diseño donde todos los enlaces tengan la misma longitud, denominada la “longitud preferida”.
Para especificar la longitud preferida:
Globalmente
  • Ejemplo de cómo especificar la longitud preferida globalmente
    forceDirectedLayout.setPreferredLinksLength(200);
    
    El valor predeterminado es 60,0.
Individualmente
También es posible especificar una longitud para cada enlace.
  • Ejemplo de cómo especificar la longitud preferida individualmente
    forceDirectedLayout.setPreferredLength(link, 100);  
    
    Para obtener el valor actual, utilice el método siguiente:
    var length = forceDirectedLayout.getPreferredLength(link);  
    
Si no se específica una longitud concreta para un enlace, se utilizan los valores globales.

Respetar los tamaños de los nodos (FL)

De forma predeterminada, el algoritmo de diseño tiene en cuenta el tamaño (anchura y altura) de los nodos. Por cuestiones de eficacia, los nodos se pueden aproximar con puntos colocados en el centro del recuadro delimitador de los nodos. Cuando se trabaja con nodos grandes, se puede aumentar el valor del parámetro longitud preferida de manera que los nodos no se solapen.
Para mejorar el rendimiento de los gráficos con nodos de tamaño constante, el algoritmo proporciona una modalidad especial en la que no se tiene en cuenta el tamaño concreto de cada nodo.
Para establecer esta modalidad:
Ejemplo en que no se tiene en cuenta el tamaño de los nodos
forceDirectedLayout.setRespectNodeSizes(false);     
El valor predeterminado es true.

Forzar ajuste a la región de diseño (FL)

Es difícil elegir un tamaño adecuado para la región de diseño de este algoritmo de diseño. Si la región de diseño especificada es demasiado pequeña para un gráfico determinado, el diseño resultante no es el mejor. Por ello, de forma predeterminada, el algoritmo Diseño Force-directed no utiliza el parámetro región de diseño.
Puede utilizar tanto espacio como necesite para diseñar el gráfico.
Para especificar si el algoritmo de diseño debe utilizar la región de diseño:
Ejemplo de cómo utilizar el parámetro región de diseño.
forceDirectedLayout.setForceFitToLayoutRegion(true);  
El valor predeterminado del parámetro es false.

Modalidad de diseño

Para adaptarse a diversas necesidades, el algoritmo proporciona tres modalidades de diseño opcionales:
Modalidad incremental
El algoritmo se inicia en la posición actual y de forma iterativa intenta converger hacia el diseño óptimo. En algunos casos, esta modalidad evita una importante reorganización del gráfico, lo que permite conservar el mapa mental del usuario en la medida de lo posible. Sin embargo, no está garantizado y depende de lo lejos que está la posición inicial de los nodos de la posición que satisface los criterios del algoritmo.
Modalidad no incremental
Es algoritmo puede reorganizar libremente el gráfico sin intentar aproximarse a las posiciones iniciales. A menudo, la modalidad no incremental es más rápida que la modalidad incremental a costa, a veces, de una reducción de la calidad.
Modalidad rápida de varios niveles
El algoritmo utiliza una estrategia de descomposición del gráfico en varios niveles que permite mejorar notablemente la velocidad. Esta modalidad suele ser la más rápida para gráficos medianos y grandes.
El valor predeterminado es ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout.INCREMENTAL_MODE.
Para establecer la modalidad de diseño:
Ejemplo de cómo establecer la modalidad de diseño
forceDirectedLayout.setLayoutMode(
  ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout.FAST_MULTILEVEL_MODE);