複数のセルフリンク

ノードに複数のセルフリンクがある場合、セルフリンクは多重リンクのようにバンドルされます。 セルフリンクの曲折点は、セルフリンクが相互に重ならないようにシフトされます。 多重リンクは、接続位置に関連してさまざまな方法で分散されます。 指定される接続位置は、バンドルの真ん中を指すか、バンドルの最も外側のリンクを指すか、 またはバンドルの最も内側のリンクを指します。 これは、以下の図に示されています。 接続位置は、3 つのすべての場合において同じで、2 つの小さいクロス (X) で示されていますが、 多重セルフリンクが、バンドルの中央から分散、バンドルの内側に向かって分散、バンドルの外側に向かって分散 というように、それぞれ異なっています。
多重セルフリンクの分散 分散を示す図
中央から分散

中央から分散された複数のセルフリンク
多重セルフリンク・バンドルの内側に向かって分散

バンドルの内側に向かって分散された複数のセルフリンク
多重セルフリンク・バンドルの外側に向かって分散

バンドルの外側に向かって分散された複数のセルフリンク
多重セルフリンクの分散
以下のメソッドを使用します。
layout.setMultiSelfLinkDistribution(distribution);
セルフリンクの曲折点間のオフセットを指定できます。 これらのパラメーターは、一般の多重リンクでの対応するパラメーターと同じ意味を持っていますが、 多重リンク・バンドルであるセルフリンクに対してのみ適用されます。
以下のメソッドを使用します。
layout.setMultiSelfLinkOffset(offset);
layout.setMultiSelfLinkMaxSpread(maxSpread);
多重セルフリンク・オフセットとは、隣接する 2 つのセルフリンク (またはセルフリンクの曲折点) 間の オフセットです。このオフセットは maxSpread の値により制限され、 多数のセルフリンクがある場合にセルフリンク間のスペースが空き過ぎないようにします。 多重セルフリンク・オフセットが 10 で、maxSpread の値が 60 の場合、 多重セルフリンクが 6 個未満であると実際のオフセットは 10 になります。 多重セルフリンクの数がこれを上回ると、実際のオフセットは小さくなります。例えば、 多重セルフリンクが 15 個ある場合、実際のオフセットは 10 ではなく 4 になり、 セルフリンクは最大で 60 ユニット離れてシフトされます。 セルフリンク・モードが NARROW_CONNECTED_RECTANGULAR など の NARROW モードのいずれかである場合、実際のオフセットは、セルフリンクが発生するノードのバウンディング・ボックスのサイズによりさらに制限されます。