グラフ間リンクのリンク元とリンク先が別々のグラファーにあるため、グラフ間リンクの曲折点をどの座標系で定義するかを判断することが難しくなります。
リンクの座標系とその曲折点は、常にリンクを追加したグラファーの座標系となります。通常のリンクと比較した場合の唯一の相違点は、グラフ間リンクが終了点、つまりリンク元とリンク先へのリンクの接続点を計算する方法にあります。実際には IlvLinkImage クラスの基本クラスであるリンク自体は、次を呼び出してその接続点を計算します。
void getConnectionPoints(IlvPoint src, IlvPoint dst, IlvTransformer t)
このメソッドは、次を呼び出して、リンク・コネクター ( IlvLinkConnector) がリンク先ノードにインストールされているのか、ソース・ノードにインストールされているのかを判断します。
boolean getLinkConnectorConnectionPoint(boolean origin, IlvPoint p, IlvTransformer t)
getConnectionPoints
メソッドは、結果を src
パラメーターと dst
パラメーターに格納します。リンクがグラフ間リンクの場合、このメソッドはリンク元ノードとリンク先ノードの座標系の接続点を計算します。この例では、
origin
パラメーターは、リンク元の接続点計算に対しては true
、リンク先の接続点計算に対しては false
であり、t
パラメーターは、トランスフォーマーはリンクを描画するときに使用するトランスフォーマーです。リンク・コネクターがインストールされている場合、
このメソッドは
true
を返します。リンク・コネクターがインストールされていない場合は、デフォルトの接続点が計算されます。リンク・コネクターがインストールされている場合は、リンク・コネクターは次のメソッドで接続点を計算します。IlvPoint getConnectionPoint(IlvLinkImage link, boolean origin,IlvTransformer t)
- リンクが通常のリンクの場合、
t
パラメーターはリンクを描画する際に使用するトランスフォーマーです。これはリンク元またはリンク先を描画する際に使用するトランスフォーマーと同じです。 - リンクがグラフ間リンクの場合は、
t
パラメーターはリンク元またはリンク先を描画する際に使用するトランスフォーマーです。
したがって、リンクまたはリンク・コネクターの新規クラスを開発する際には、グラフ間リンクの特定のケースに対して特別に考慮することはありません。