2016-12-05 212 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(...)的参数。 –