2016-12-05 208 views
0

榮格是否提供平行直線邊緣而不重疊? 我想獲得像this榮格圖平行直線邊緣

是否有可能不使用QuadCurve/CubicCurve行獲得此功能?

+0

請不要使用「jung2」標籤。它不包含任何比'jung'標籤更多的信息。它的工作原理是 –

回答

0

您可以像在EdgeShape.java中一樣定義自己的邊緣形狀;特別是我想看看BentLine是如何定義的,因爲這將是相當容易的修改做類似的東西,你想要什麼:

https://github.com/jrtom/jung/blob/master/jung-visualization/src/main/java/edu/uci/ics/jung/visualization/decorators/EdgeShape.java#L141

特別是,我不會真的建議使用2+平行的直線作爲邊緣,因爲當線條的端點全部在同一位置時(這是可視化和呈現代碼假定的),它更清晰。如果您想將行作爲基本直,是直大部分長度,然後在每端用彎曲線,以滿足端點,例如:

int index = getIndex(e, edgeIndexFunction); 
float controlY = control_offset_increment + control_offset_increment * index; 
BENT_LINE.reset(); 
BENT_LINE.moveTo(0.0f, 0.0f); 
BENT_LINE.lineTo(0.1f, controlY); 
BENT_LINE.lineTo(0.9f, controlY); 
BENT_LINE.lineTo(1.0f, 1.0f); 
return BENT_LINE; 
+0

。我使用了類似於EdgeShape.LINE的東西,在繪製第二條平行線時修改了Line2D.Float(...)的參數。 –