Self-Links, die an demselben Knoten beginnen und enden

Self-Links (selbstverweisende Links) sind Links, die an demselben Knoten beginnen und enden. Sie können sogar als Mehrfachlinks vorkommen. In diesem Fall werden sie als Multiself-Link-Paket bezeichnet. Wenn Links gerade ausgerichtet sind, sind Self-Links nicht sichtbar, weil sie an demselben Punkt in der Mitte des Knotens beginnen und enden. Zur Vermeidung dieses Effekts haben die in Layoutalgorithmen, die Unterklassen des Basislinkstillayouts sind aufgelisteten Layouts einen so genannten Self-Link-Modus, der nur angewendet wird, wenn STRAIGHT_LINE_STYLE als Linkstil definiert ist. Trotz des Namens des Linkstils bewirkt die Kombination von Modus und Stil dazu, dass den Self-Links Kurven hinzugefügt werden, um sie sichtbar zu machen. Wenn NO_RESHAPE_STYLE als Linkstil definiert ist, hat der Self-Link-Modus keine Wirkung.
Beispiel für die Steuerung von Self-Links
In allen Modi mit Ausnahme des Modus "no-bends" werden drei orthogonal platzierte Kurven erstellt, so dass die Segmente in etwa drei Vierteln eines Rechtecks oder eines Quadrats entsprechen, und das vierte Viertel der Knoten ist, dem der Self-Link zugeordnet wird. Je nach Knotenbemaßung werden in den Rechteckmodi Formen mit jeweils vier Ecken erstellt, die keine Quadrate sind. In den Quadratmodi werden Quadrate erstellt. Die Quadratmodi sind insbesondere hilfreich für Spline-Self-Links, weil die Spline dann ungefähr drei Vierteln eines Kreises gleichen kann.
Modus Grafisches Ergebnis
Modus CONNECTED_RECTANGULAR
Verbundener
Rechteckmodus, in dem ein Self-Link mit drei orthogonalen Kurven erstellt wird
Modus CONNECTED_SQUARE
Verbundener
Quadratmodus, in dem ein Self-Link mit drei orthogonalen Kurven erstellt wird
Modus CONNECTED_SQUARE mit Spline-Link
Verbundener
Quadratmodus, in dem ein Spline-Self-Link erstellt wird
In den verbundenen Modi werden die Verbindungspunkte auf dem Rand des Knotens platziert. In den freien Modi werden die Kurven an derselben Position wie in den entsprechenden verbundenen Modi platziert, aber der Linkverbindungspunkt wird nicht erzwungen, d. h., Knoten und Links können die Platzierung des Verbindungspunkts frei wählen. Die Linksegmente in den freien Modi sind möglicherweise nicht orthogonal, weil der Verbindungspunkt nicht erzwungen wird.
Der Modus "narrow" und die anderen Modi verhalten sich für einzelne Self-Links identisch. Wenn Sie mehrere Self-Links in demselben Knoten haben, werden die Self-Links um ein Offset versetzt, um Überschneidungen zu vermeiden. In diesem Fall unterscheidet sich der Modus "narrow" von den anderen Modi: Das Multiself-Link-Paket kann schmaler erscheinen, weil der Versatz der Self-Links durch die Größe des Endknotens beschränkt wird.
Beispiele für die Verwendung von Modus und Offset Grafisches Ergebnis
Modus CONNECTED_SQUARE
Versatz mehrerer
Self-Links im verbundenen Quadratmodus
Modus NARROW_CONNECTED_SQUARE
Versatz mehrerer
Self-Links, die durch die Größe des Endknotens im verbundenen Quadratmodus 'narrow' beschränkt sind
Self-Links können an allen vier Ecken des Knotens vorkommen. Der Algorithmus bestimmt anhand der Richtung aller anderen Links automatisch, welche Ecke am besten geeignet ist. Sie können die zu verwendende Ecke beschränken.
Verwenden Sie die folgende Methode:
layout.setSelfLinkAllowedCorners(corners);
Standardmäßig sind Self-Links im Uhrzeigersinn ausgerichtet. Sie können andere Ausrichtungen angeben:
Verwenden Sie die folgende Methode:
setSelfLinkOrientation(orientation);
Die gültigen Werte für orientation sind, wie anhand des Beispiels für das kräftegesteuerte Layout (Force-directed) erkennbar, folgende: