From 1ac5417ae9cee3ac4655d9702574b396b64a6b93 Mon Sep 17 00:00:00 2001 From: Val Erastov Date: Thu, 13 Aug 2015 22:03:05 -0700 Subject: [PATCH] Use prepare-solve idiom --- web/app/sketcher/canvas.js | 10 ++++------ web/app/sketcher/constr/constraints.js | 1 + web/app/sketcher/constr/solver.js | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/web/app/sketcher/canvas.js b/web/app/sketcher/canvas.js index b49a1597..0f51c74c 100644 --- a/web/app/sketcher/canvas.js +++ b/web/app/sketcher/canvas.js @@ -876,7 +876,11 @@ TCAD.TWO.DragTool.prototype.mousewheel = function(e) { }; TCAD.TWO.DragTool.prototype.solveRequest = function(rough) { + this.solver.solve(rough, 1); + this.solver.sync(); +}; +TCAD.TWO.DragTool.prototype.prepareSolver = function() { var locked; if (this.obj._class === 'TCAD.TWO.EndPoint') { locked = [this.obj._x, this.obj._y]; @@ -892,10 +896,4 @@ TCAD.TWO.DragTool.prototype.solveRequest = function(rough) { locked = []; } this.solver = this.viewer.parametricManager.prepare(locked); - this.solver.solve(rough, 1); - this.solver.sync(); -}; - -TCAD.TWO.DragTool.prototype.prepareSolver = function() { - }; diff --git a/web/app/sketcher/constr/constraints.js b/web/app/sketcher/constr/constraints.js index 6b8d4d5c..603fd6f8 100644 --- a/web/app/sketcher/constr/constraints.js +++ b/web/app/sketcher/constr/constraints.js @@ -70,6 +70,7 @@ TCAD.constraints.Weighted = function(constr, weight) { this.weight = weight; this.params = constr.params; + this.constr = constr; this.error = function() { return constr.error() * this.weight; diff --git a/web/app/sketcher/constr/solver.js b/web/app/sketcher/constr/solver.js index e7e6fb03..47793079 100644 --- a/web/app/sketcher/constr/solver.js +++ b/web/app/sketcher/constr/solver.js @@ -272,7 +272,7 @@ TCAD.parametric.prepare = function(constrs, locked, aux, alg) { solveSystem : solve, updateLock : function(values) { for (var i = 0; i < values.length; ++i) { - lockingConstrs[i].value = values[i]; + lockingConstrs[i].constr.value = values[i]; } } };