2016-12-05 56 views
0

是否有方法更改边缘箭头的中点位置?目前它设定为50%,但我希望能够根据边缘将其调整为25%或75%。有没有我可以拨打的变量/选项:更改中目标边缘的箭头位置

{selector: 'edge', 
    style: { 
    'curve-style': 'bezier', 
    'line-color': '#506368', 
    'mid-target-arrow-shape': 'triangle', 
    'mid-target-arrow-color': 'black', 
    'width': 1, 
    } 
}, 

回答

1

我不认为会发生这种情况。允许中箭头的唯一原因是因为无论如何都必须计算该点。任意点对贝塞尔来说变得昂贵。

+0

你能指点我脚本中计算发生的地方吗,所以我可以测试它的小案例? – desc

+0

这不是同一种计算,因为你的情况不能做出相同的假设或快捷方式。你必须从头开始。 – maxkfranz

+0

你可能想看看[calculateArrowAngles()](https://github.com/cytoscape/cytoscape.js/blob/v2.7.12/src/extensions/renderer/base/coord-ele-math.js#L1781 )和[findEdgeControlPoints()](https://github.com/cytoscape/cytoscape.js/blob/v2.7.12/src/extensions/renderer/base/coord-ele-math.js#L1152)开始。这不会是一个简单的调整,虽然... – maxkfranz