Gitlab CSE Unil

Commit 8029512e authored by Julien Furrer's avatar Julien Furrer
Browse files

Bug fix - outil lines - corrigé pb séléection de sommets

La séléection des sommets marchait pas bien car dans certaines situation, c'est les "bounds"
qui répondaient en premier lors du hitTest au lieu des "segments".
Cette situation était très fréquente dans le cas des lignes avec seulemetn deux sommets.

Enfin corrigé, ce truc trainait depuis longtemps...
parent 7b26ecb1
......@@ -141,8 +141,27 @@ define([
}
}
}
else if (itemHitResult.item.data.type === 'lines') {
// Sur une ligne, aux extrémités, les segments (sommets) peuvent coïncider avec les bounds,
// surtout s'il n'y a que deux points. Il faut allors chercher manuellement les sommets.
var p1 = itemHitResult.point, md, ds, seg;
for (var s=0, l=item.segments.length; s<l; s++){
ds = p1.getDistance(item.segments[s].point);
if (!seg || ds < md) {
seg = item.segments[s];
md = ds;
}
if (ds == 0) {
break;
}
}
if (seg) {
_selectedSegment = seg;
}
}
else {
hitItem.onMouseDown(event);
if (typeof hitItem.onMouseDown === 'function')
hitItem.onMouseDown(event);
}
break;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment