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.

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.

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_STYLESe 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_STYLECada 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.

Combinación de distintos estilos de enlace en el
mismo dibujo (diseño de enlaces cortos)

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_MODEEl 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_MODECada 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 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.

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.