How to draw nodes after edges, only with customized node and edge types ?

Skip to first unread message

Gregoor van der Eyken

Aug 7, 2016, 7:42:42 PM8/7/16
to JavaScript InfoVis Toolkit
Hi everyone,

Indeed, my radial graph use native customized node and edges, but sometimes some lines are drawn after (on over) the nodes (round tiles)

I do not need to (and do not want) to use labels (DOM or natives)... Is it an other way to DRAW nodes after EDGES without to drawn them a second time in a afterPlotNode function, or to tell me how to detect which nodes have to be draw again (about 5 on 20)

Thanks for any help


Thomas Raab

Nov 21, 2016, 1:53:07 PM11/21/16
to JavaScript InfoVis Toolkit

i don't know if my anser is 100% correct, but i had the same problem. In my custom line, i set the globalCompositeOperation from the canvas to 'destination-over'. Now the lines are drawn ('under') my nodes.

'lineUnder': {
'render': function (adj, canvas) {
var ctx = canvas.getCtx();
var from = adj.nodeFrom.pos.getc(true),
to = adj.nodeTo.pos.getc(true);
ctx.globalCompositeOperation = 'destination-over';
this.edgeHelper.line.render(from, to, canvas);
'contains': function (adj, pos) {
var from = adj.nodeFrom.pos.getc(true),
to = adj.nodeTo.pos.getc(true);
return this.edgeHelper.line.contains(from, to, pos, this.edge.epsilon);

It works pretty well, but as i said, i'm not shure if this is 100% correct.

Greetings Thomas
Reply all
Reply to author
0 new messages