Les autoliens sont des liens qui démarrent et se terminent sur le même noeud.
Ils peuvent même se produire sous la forme de liens multiples, lorsqu'ils sont appelés faisceau d'autoliens multiples. Lorsque les liens sont droits, les autoliens ne sont pas visibles, car ils commencent et se terminent au même point dans le centre du noeud. Pour éviter cela, les agencements répertoriés dans Algorithmes d'agencement qui sont des sous-classes de l'agencement de style de lien de base comportent un mode autolien qui est appliqué uniquement lorsque le style de lien est STRAIGHT_LINE_STYLE.
En dépit du nom du style de lien, la combinaison du mode et du style entraîne l'ajout de coudes sur les autoliens afin de les rendre visibles.
Lorsque le style de lien est NO_RESHAPE_STYLE, le mode autolien n'a aucun effet.
Exemple de spécification du routage des autoliens
Pour spécifier le mode autolien, utilisez la méthode suivante :
layout.setSelfLinkMode(mode);
Les valeurs valides pour le mode sont fournies avec l'exemple de l'agencement Force-directed :
- ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout.NO_BENDS : Les autoliens ne sont pas remodelés avec des coudes et peuvent ne pas être visibles.
- ibm_ilog.graphlayout.forcedirected.ForceDirectedLayout.NARROW_CONNECTED_RECTANGULAR : Ce mode est défini par défaut.
Tous ces modes, à l'exception du mode sans coude, permettent de créer trois coudes positionnés de façon orthogonale, de sorte que les segments représentent plus ou moins les trois-quarts d'un rectangle ou d'un carré, le quatrième quart étant le noeud où l'autolien est connecté. Selon la dimension du noeud, les modes rectangulaires permettent de créer des formes composées de quatre angles qui ne sont pas des carrés ; les modes carré permettent de créer des carrés. Les modes carré sont utiles pour les autoliens spline en particulier, car le spline peut ensuite représenter approximativement les trois quarts d'un cercle.
Mode | Résultat graphique |
---|---|
Mode CONNECTED_RECTANGULAR | ![]() |
Mode CONNECTED_SQUARE | ![]() |
Mode CONNECTED_SQUARE avec un lien spline | ![]() |
Les modes connectés positionnent les points de connexion sur la bordure du noeud. Les modes libres positionnent les coudes sur la même position que les modes connectés correspondants, mais le point de connexion de lien n'est pas imposé ; autrement dit, le noeud et le lien sont libres de sélectionner la position du point de connexion. Les segments de lien dans les modes libres peuvent ne pas être orthogonaux, car le point de connexion n'est pas imposé.
Les modes étroits et les autres modes se comportent de la même façon pour les autoliens uniques. Si vous disposez d'autoliens multiples sur le même noeud, les autoliens sont décalés pour éviter les chevauchements. Dans ce cas, les modes étroits diffèrent des autres modes ; le faisceau d'autoliens multiples peut apparaître plus étroit, car le décalage des autoliens multiples est limité par la taille du noeud de fin.
Exemples d'utilisation du mode et du décalage | Résultat graphique |
---|---|
Mode CONNECTED_SQUARE | ![]() |
Mode NARROW_CONNECTED_SQUARE | ![]() |
Les autoliens peuvent être générés aux quatre angles du noeud.
L'algorithme détermine automatiquement l'angle le plus approprié, en fonction de la direction des autres liens. Vous pouvez restreindre l'angle à utiliser.
Utilisez la méthode suivante :
layout.setSelfLinkAllowedCorners(corners);
Les angles autorisés correspondent à une combinaison OR au niveau du bit choisie à partir des constantes suivantes ; par exemple, dans l'agencement Force-directed :
Par défaut, les autoliens sont orientés dans le sens des aiguilles d'une montre. Vous pouvez spécifier d'autres orientations.
Utilisez la méthode suivante :
setSelfLinkOrientation(orientation);
Avec l'agencement Force-directed comme exemple, les valeurs valides pour orientation sont les suivantes :
- Les autoliens commencent par un segment horizontal et se terminent par un segment vertical.
- Les autoliens commencent par un segment vertical et se terminent par un segment horizontal.