Liens multiples entre la même paire de noeuds

Il peut arriver qu'un graphe comporte des liens multiples entre la même paire de noeuds. Lorsque ces liens sont droits et utilisent le même point de connexion aux noeuds, ils se chevauchent et ne peuvent pas être distingués. Pour éviter de tels chevauchements, les agencements spécifiés comportent un noeud multilien qui est appliqué uniquement lorsque le style de lien est STRAIGHT_LINE_STYLE. Ce mode n'a aucun effet si le style de lien est NO_RESHAPE_STYLE.
Exemple de spécification de routage de liens multiples
Pour spécifier le mode multilien, utilisez la méthode suivante :
layout.setMultiLinkMode(mode);
Les valeurs valides pour le mode sont fournies avec l'exemple de l'agencement Force-directed :
Si le mode multilien n'est pas NO_BUNDLE, le décalage entre les liens décalés ou entre les coudes des liens n'est pas spécifié :
Utilisez les méthodes suivantes :
layout.setMultiLinkOffset(offset);
layout.setMultiLinkMaxSpread(maxSpread);
Le décalage des liens multiples est le décalage entre deux liens voisins (ou leurs coudes). La valeur de maxSpread limite ce décalage pour éviter que trop d'espace soit utilisé lorsque le nombre de liens multiples est trop élevé. Si le décalage des liens multiples est égal à 10 et que la valeur de maxSpread est égale à 60, le décalage effectif est égal à 10, si le nombre de liens multiples est inférieur à six. Si le nombre de liens multiples est plus élevé, le décalage effectif est réduit. Par exemple, si le nombre de liens multiples est égal à 15, le décalage effectif n'est plus égal à 10, mais il passe à 4, pour faire en sorte que les liens soient décalés les uns des autres de 60 unités maximum. Si le mode multilien est NARROW_STRAIGHT_LINE_BUNDLE, le décalage effectif est limité davantage en fonction de la taille du cadre de délimitation des deux noeuds de fin d'un faisceau de liens.
Exemples d'utilisation du mode et du décalage Résultat graphique
NO_BUNDLE
Résultat d'un décalage en mode NO_BUNDLE entre une paire de liens
STRAIGHT_LINE_BUNDLE lorsque la valeur définie pour maxSpread est trop élevée.
Résultat du décalage en mode STRAIGHT_LINE_BUNDLE lorsque la valeur définie pour maxSpread est trop élevée
NARROW_STRAIGHT_LINE_BUNDLE : Le même résultat peut être obtenu avec STRAIGHT_LINE_BUNDLE en réduisant la valeur de maxSpread.
Résultat du décalage en mode NARROW_STRAIGHT_LINE_BUNDLE ou STRAIGHT_LINE_BUNDLE lorsque la valeur définie pour maxSpread est réduite
CONNECTED_ONE_BEND_BUNDLE
Résultat du décalage en mode CONNECTED_ONE_BEND_BUNDLE
FREE_ONE_BEND_BUNDLE lorsque les liens sont connectés initialement à des centres de noeuds.
Le même résultat peut être obtenu avec CONNECTED_ONE_BEND_BUNDLE, utilisé conjointement avec la valeur true définie pour le paramètre connectLinksToNodeCenters. Par exemple, voir ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout.setConnectLinksToNodeCenters
Résultat du décalage en mode FREE_ONE_BEND_BUNDLE, avec les liens connectés initialement à des centres de noeuds, ou en mode CONNECTED_ONE_BEND_BUNDLE, avec la valeur true définie pour le paramètre setConnectLinksToNodeCenters