Parámetros específicos para los diseños de enlaces cortos y largos

Modalidad de diseño (DE)

La figura Modalidades de enlaces cortos y largos con enlaces ortogonales muestra un pequeño gráfico de ejemplo en las modalidades de enlaces cortos y largos. La modalidad de enlaces cortos empaqueta bien los enlaces. Debido al empaquetado, algunos enlaces rojos parecen no estar conectados a los nodos verdes. El algoritmo no puede encontrar una ruta para los enlaces largos rojos sin que se solapen algunos nodos o sin que se solapen con el enlace verde. La modalidad de enlaces largos funciona en una cuadrícula. Está especializada en enlaces largos y evita el solapamiento de nodos o segmentos de enlaces. Puede conectarse con los nodos verdes eligiendo puntos de conexión en caras distintas de los nodos finales. Sin embargo, esta ventaja tiene el inconveniente de que se obtiene una estructura menos regular que no empaqueta los enlaces y que el número de intersecciones de enlaces es mayor.
Imagen
de diseños de enlaces que ilustra la modalidad de diseño de enlaces
cortos y la modalidad de diseño de enlaces largos
Modalidades de enlaces cortos y largos con enlaces ortogonales

Elección del diseño adecuado (DE)

La modalidad de enlaces cortos, debe utilizarse si se da cualquiera de las condiciones siguientes:
  • La mayoría de los enlaces son cortos y no es muy grave si los enlaces largos se solapan con obstáculos.
  • Las rutas de los enlaces deben colocarse libremente y no pueden restringirse a una cuadrícula.
  • Es importante limitar el número de curvas.
La modalidad de enlaces largos, debe utilizarse si se da cualquiera de las condiciones siguientes:
  • Muchos enlaces son largos y es importante que los enlaces largos no se solapen con obstáculos.
  • Hay un direccionamiento preferido porque los nodos ya están colocados en la cuadrícula.
  • Es importante garantizar una distancia mínima entre segmentos de enlaces.
  • Es aceptable que el número de curvas aumente si así se evitan los solapamientos.
Direccionamiento laberíntico con un diseño de enlaces largos muestra cómo puede utilizarse la modalidad de enlaces largos para buscar una ruta ortogonal sin solapamientos en un laberinto de obstáculos de nodos.
Gráfico
que muestra cómo se utiliza la modalidad de enlaces largos para
buscar una ruta ortogonal sin solapamientos en un laberinto de
obstáculos de nodos
Direccionamiento laberíntico con un diseño de enlaces largos

Estilo de enlace (DE)

Los algoritmos de diseño proporcionan dos estilos de enlace. Puede establecer el estilo de enlace de forma global, en cuyo caso todos los enlaces tienen la misma forma, o de forma local en cada enlace, de modo que pueden encontrarse diferentes formas de los enlaces en el mismo dibujo.

Estilo de enlace global

Ejemplo de cómo establecer un estilo de enlace global (algoritmos Diseño de enlaces)
Para establecer el estilo de enlace global:
Utilice el método setGlobalLinkStyle:
layout.setGlobalLinkStyle(ibm_ilog.graphlayout.shortlink.ShortLinkLayout.ORTHOGONAL_STYLE);
Puede utilizar ibm_ilog.graphlayout.shortlink.ShortLinkLayout.ORTHOGONAL_STYLE o ibm_ilog.graphlayout.longlink.LongLinkLayout.ORTHOGONAL_STYLE, dependiendo del diseño que el que trabaje. Los valores de ambas constantes son iguales.
Los valores válidos son:
  • ibm_ilog.graphlayout.shortlink. ShortLinkLayout.ORTHOGONAL_STYLE o ibm_ilog.graphlayout.longlink. LongLinkLayout.ORTHOGONAL_STYLE (valor predeterminado)
    Se cambia la forma de los enlaces para darles forma ortogonal (alternando segmentos horizontales y verticales). En Diseño de enlaces cortos con enlaces ortogonales y Diseño de enlaces largos con enlaces ortogonales hallará ejemplos.
  • ibm_ilog.graphlayout.shortlink. ShortLinkLayout.DIRECT_STYLE o ibm_ilog.graphlayout.longlink. LongLinkLayout.DIRECT_STYLE
    Se cambia la forma de los enlaces por una línea poligonal compuesta de tres segmentos: un segmento straight-line que empieza y termina con un pequeño segmento vertical o horizontal. En El mismo gráfico del diseño de enlaces cortos con enlaces directos hallará un ejemplo.
  • ibm_ilog.graphlayout.shortlink. ShortLinkLayout.MIXED_STYLE o ibm_ilog.graphlayout.longlink. LongLinkLayout.MIXED_STYLE
    Cada enlace puede tener un estilo de enlace distinto. El estilo de cada enlace individual se puede establecer de modo que en el mismo gráfico haya enlaces con formas distintas.

Estilo de enlace individual

Todos los enlaces tienen el mismo estilo de forma a menos que el estilo de enlace global sea MIXED_STYLE.
Únicamente si el estilo de enlace global se establece en MIXED_STYLE cada enlace puede tener un estilo de enlace individual.
Gráfico
presentado en modalidad de enlaces cortos con distintos estilos de
enlace
Combinación de distintos estilos de enlace en el mismo dibujo (diseño de enlaces cortos)
Gráfico
presentado en modalidad de enlaces largos con distintos estilos de
enlace
Combinación de distintos estilos de enlace en el mismo dibujo (diseño de enlaces largos)
Ejemplo de cómo especificar un estilo de enlace individual (algoritmos Diseño de enlaces)
Para establecer y recuperar el estilo de un enlace individual:
Utilice los métodos:
layout.setLinkStyle(link, ibm_ilog.graphlayout.shortlink.ShortLinkLayout.ORTHOGONAL_STYLE); 
var style = layout.getLinkStyle(node);
Los valores válidos son:
  • ibm_ilog.graphlayout.shortlink.ShortLinkLayout.ORTHOGONAL_STYLE o ibm_ilog.graphlayout.longlink.LongLinkLayout.ORTHOGONAL_STYLE (valor predeterminado)
  • ibm_ilog.graphlayout.shortlink.ShortLinkLayout.DIRECT_STYLE o ibm_ilog.graphlayout.longlink.LongLinkLayout.DIRECT_STYLE
  • ibm_ilog.graphlayout.shortlink.ShortLinkLayout.NO_RESHAPE_STYLE o ibm_ilog.graphlayout.longlink.LongLinkLayout.NO_RESHAPE_STYLE (es decir, no se cambia la forma del enlace)

Modalidad de puntos finales (DE)

El algoritmo de diseño proporciona dos modalidades de punto final. Se puede establecer la modalidad de punto final de forma global, en cuyo caso todos los puntos finales tienen la misma modalidad, o de forma local en cada enlace, en cuyo caso pueden encontrarse diferentes modalidades de punto final en el mismo dibujo.

Modalidad de punto final global

Ejemplo de cómo especificar la modalidad de punto final global (algoritmo Diseño de enlaces)
Para establecer la modalidad de punto final global:
Utilice los métodos setGlobalOriginPointMode y setGlobalDestinationPointMode.
Los valores válidos para determinar la modalidad son:
  • ibm_ilog.graphlayout.shortlink.ShortLinkLayout.FREE_MODE o ibm_ilog.graphlayout.longlink.LongLinkLayout.FREE_MODE (valor predeterminado)
    El diseño puede elegir libremente la posición adecuada del punto de conexión en el nodo de origen o destino.
  • ibm_ilog.graphlayout.shortlink.ShortLinkLayout.FIXED_MODE o ibm_ilog.graphlayout.longlink.LongLinkLayout.FIXED_MODE
    El diseño debe conservar la posición actual del punto de conexión en el nodo de origen o destino.
  • ibm_ilog.graphlayout.shortlink.ShortLinkLayout.MIXED_MODE o ibm_ilog.graphlayout.longlink.LongLinkLayout.MIXED_MODE
    Cada enlace puede tener una modalidad de punto final diferente.

Modalidad de punto final individual

Todos los enlaces tienen la misma modalidad de punto final a menos que la modalidad de punto final global sea MIXED_MODE.
Sólo si la modalidad de punto final global se establece en MIXED_MODE cada enlace tiene una modalidad de punto final individual.
Ejemplo de cómo especificar la modalidad de punto final individual (algoritmo Diseño de enlace)
Para establecer la modalidad de un enlace individual:
Utilice los métodos:
layout.setOriginPointMode(link, mode)  
var mode = getOriginPointMode(link)
layout.setDestinationPointMode(link, mode)
var mode = getDestinationPointMode(link)   
Los valores válidos para mode son:
  • ibm_ilog.graphlayout.shortlink.ShortLinkLayout.FREE_MODE o ibm_ilog.graphlayout.longlink.LongLinkLayout.FREE_MODE (valor predeterminado)
  • ibm_ilog.graphlayout.shortlink.ShortLinkLayout.FIXED_MODE o ibm_ilog.graphlayout.longlink.LongLinkLayout.FIXED_MODE

Modalidad incremental (DE)

El algoritmo Diseño de enlaces normalmente direcciona todos los enlaces desde cero. Si el gráfico cambia de forma incremental porque se añaden o eliminan enlaces o nodos, el diseño posterior puede variar considerablemente del diseño anterior. Para evitar este efecto y permitir que el usuario conserve un mapa mental del gráfico, el algoritmo tiene una modalidad incremental.
Ejemplo de cómo habilitar la modalidad incremental (algoritmo Diseño de enlaces)
Para habilitar la modalidad incremental:
Utilice el método setIncrementalMode:
layout.setIncrementalMode(true);
En la modalidad incremental, el diseño intenta minimizar los cambios en el diseño. Un enlace se redirecciona solamente si es nuevo, si se ha movido la curva de un enlace, si se han cambiado los parámetros de diseño o si se ha movido un nodo que se solapaba con el enlace.
En la modalidad de enlaces cortos, si el diseño siguiente es incremental, el enlace conserva el lado de conexión y la forma general calculada por un diseño anterior, excepto si se ha movido o cambiado uno de sus nodos finales.
En la modalidad de enlaces largos, se busca una nueva ruta para los enlaces que ya no están en la cuadrícula o que se solapen con los nodos. La forma y el lado de conexión de los enlaces redireccionados puede cambiar completamente. Los enlaces que ya están en la cuadrícula y no se solapan los nodos u otros enlaces no se redireccionan en la modalidad incremental. También es posible especificar qué enlace debe redireccionar el siguiente diseño incremental aunque el diseño no haya cambiado.
Ejemplo de cómo especificar qué enlaces se debe redireccionar en el siguiente diseño incremental (algoritmo Diseño de enlaces)
Para seleccionar un enlace individual que se utilizará para el redireccionamiento incremental:
Utilice el método:
layout.markForIncremental(link)

Direccionamiento de enlaces intergráficos (DE)

Gráfico
anidado con enlaces normales (azules) y enlaces intergráficos
(rojos)
Gráfico con enlaces normales anidadas (azules) y enlaces intergráficos (rojos)
De forma predeterminada, el Diseño de enlaces direcciona los enlaces normales y los enlaces intergráficos.
Ejemplo de cómo direccionar solamente enlaces normales (algoritmo Diseño de enlaces)
Para direccionar solamente enlaces normales, inhabilite el direccionamiento de enlaces intergráficos:
Utilice el método setInterGraphLinksMode:
layout.setInterGraphLinksMode(false);
Ejemplo de cómo direccionar enlaces normales, intergráficos o ambos (algoritmo Diseño de enlaces)
Si la modalidad de enlaces intergráficos está habilitada, puede seleccionar si se direccionan solamente los enlaces intergráficos o si se direccionan los enlaces intergraph y los enlaces normales al mismo tiempo.
Establezca el método setCombinedInterGraphLinksMode de forma que el diseño siguiente direccione los enlaces intergráficos pero no cambie los enlaces normales:
layout.setCombinedInterGraphLinksMode(false);
Establezca el método setCombinedInterGraphLinksMode de forma que el diseño siguiente direccione los enlaces normales y los enlaces intergráficos:
layout.setCombinedInterGraphLinksMode(true);
Cuando la modalidad de enlaces intergráficos está habilitada, el diseño no puede direccionar los enlaces de forma incremental. Consulte Modalidad incremental (DE) .
El diseño direcciona solamente los enlaces que pertenecen al gráfico conectado. En un gráfico anidado, cada subgráfico se conecta con una instancia de diseño diferente. Por consiguiente, cuando se inicia un diseño normal (no recursivo) para el gráfico de nivel superior (consulte Gráfico con enlaces normales anidadas (azules) y enlaces intergráficos (rojos) ), no se direccionan todos los enlaces que se muestran en esta figura, sino sólo los que pertenecen al gráfico de nivel superior.
En la figura siguiente, el sombreado amarillo indica el subgráfico para el que se aplica actualmente el diseño de enlaces no recursivo. El gráfico de nivel superior está a la izquierda y a la derecha está el subgráfico, sombreado de amarillo. Si la modalidad de enlaces intergráficos está habilitada, se direccionan tanto los enlaces rojos (intergráficos) como los azules (normales). Si la modalidad de enlaces intergráficos está inhabilitada, sólo se direccionan los enlaces azules (normales). Los enlaces de gris no se direccionan porque no pertenecen al gráfico para el que se está aplicando el diseño de enlaces.
Imagen
que muestra los enlaces que se direccionan en un gráfico
anidado
Direccionamiento de enlaces en un gráfico anidado: gráfico de nivel superior y subgráfico
Para direccionar todos los enlaces de un gráfico anidado:
  • Utilice el mecanismo de herencia predeterminado que se aplica el diseño de enlaces especificado en el gráfico de nivel superior también para los subgráficos.
    o
  • Especifique un diseño de enlaces explícitamente en cada subgráfico.