From 2bae555c8daa698b0bc0260baaa0b8ec810da81c Mon Sep 17 00:00:00 2001 From: "Val Erastov (xibyte)" Date: Fri, 27 Mar 2020 02:13:21 -0700 Subject: [PATCH] increase pick limit --- web/app/sketcher/tools/dim.js | 6 +++++- web/app/sketcher/tools/loop-pick.js | 2 +- web/app/sketcher/viewer2d.js | 5 +++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/web/app/sketcher/tools/dim.js b/web/app/sketcher/tools/dim.js index 8369ad2c..210e3d27 100644 --- a/web/app/sketcher/tools/dim.js +++ b/web/app/sketcher/tools/dim.js @@ -92,14 +92,16 @@ export class AddCircleDimTool extends Tool { mousemove(e) { var p = this.viewer.screenToModel(e); - var objects = this.viewer.search(p.x, p.y, 20 / this.viewer.scale, true, false, []).filter(function (o) { + var objects = this.viewer.search(p.x, p.y, 20, true, false, []).filter(function (o) { return o._class === 'TCAD.TWO.Circle' || o._class === 'TCAD.TWO.Arc'; }); if (objects.length != 0) { this.dim.obj = objects[0]; + this.viewer.capture('tool', [this.dim.obj], true); } else { this.dim.obj = null; + this.viewer.withdrawAll('tool'); } if (this.dim.obj != null) { this.dim.angle = Math.atan2(p.y - this.dim.obj.c.y, p.x - this.dim.obj.c.x); @@ -113,6 +115,8 @@ export class AddCircleDimTool extends Tool { } else { this.viewer.remove(this.dim); } + this.viewer.withdrawAll('tool'); + this.viewer.refresh(); this.viewer.toolManager.releaseControl(); } } diff --git a/web/app/sketcher/tools/loop-pick.js b/web/app/sketcher/tools/loop-pick.js index d112fba7..3a502255 100644 --- a/web/app/sketcher/tools/loop-pick.js +++ b/web/app/sketcher/tools/loop-pick.js @@ -104,7 +104,7 @@ export class LoopPickTool extends Tool { }; pickLoop(p) { - const pickResult = this.viewer.search(p.x, p.y, 20 / this.viewer.scale, true, false, []); + const pickResult = this.viewer.search(p.x, p.y, 20, true, false, []); for (let obj of pickResult) { for (let point of [obj.a, obj.b]) { const loop = this.loops.get(point); diff --git a/web/app/sketcher/viewer2d.js b/web/app/sketcher/viewer2d.js index aa174d63..8675f586 100644 --- a/web/app/sketcher/viewer2d.js +++ b/web/app/sketcher/viewer2d.js @@ -148,6 +148,7 @@ class Viewer { search(x, y, buffer, deep, onlyPoints, filter) { + buffer /= this.scale / this.retinaPxielRatio; buffer *= 0.5; var pickResult = []; @@ -292,7 +293,7 @@ class Viewer { snap(x, y, excl) { this.cleanSnap(); - const snapTo = this.search(x, y, 20 / this.scale, true, true, excl); + const snapTo = this.search(x, y, 20, true, true, excl); if (snapTo.length > 0) { this.capture('tool', [snapTo[0]], true); } @@ -469,7 +470,7 @@ class Viewer { pick(e) { const m = this.screenToModel(e); - return this.search(m.x, m.y, 20 / this.scale, true, false, []); + return this.search(m.x, m.y, 20, true, false, []); }; getActiveLayer() {