GEF と Draw2d を使用してグラフを作成しています。
表示したい 3 レベルの構造があります。つまり、次のことを意味します。
RootEditPart
/
Level1EditPart
/
Level2EditPart
/
Level3EditPart
Level2 には複数の子があります。
Level3EditParts (Level2 コンテナ内) 間の接続を描画したい。
私が混乱しているのは、これらの接続のライン ルーティング アルゴリズムを設定する場所と、それが親/子の EditPart/Figure 階層を介してどのように継承されるかです。
理想的には、ShortestPathConnectionRouter を使用したいと思います。Level2EditPart の図を使用して、これを接続レイヤーの接続ルーターとして設定して、これを使用しようとしました。私の理解では、この図の子を回避する障害物として使用します (したがって、他の Level3 に線を引くことはありませんが、それらを回避しようとします)。
ただし、コードをデバッグすると、ShortestPathRoutingAlgorithm のように見えますが、接続図に 1 つの座標系を使用しています (これは、接続レイヤーの座標系であると推測しています)。 Level3 Figure (それらの親の座標系。Level2 Figure)。これは、レベル 3 の 1 つと交差しているときにうまくいかないことを意味するため、それらを避けようとはしません。
そのため、ShortestPathConnectionRouter の機能を誤解しているか、正しく設定していません。誰か助けてくれませんか?