mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-14 20:33:30 +01:00
extract API for solver
This commit is contained in:
parent
34a723d685
commit
b977c18a9d
3 changed files with 7 additions and 6 deletions
|
|
@ -262,7 +262,8 @@ TCAD.parametric.prepare = function(constrs, locked, aux, alg) {
|
|||
}
|
||||
}
|
||||
var systemSolver = {
|
||||
system : sys,
|
||||
diagnose : function() {return TCAD.parametric.diagnose(sys)},
|
||||
error : function() {return sys.error()},
|
||||
solveSystem : solve,
|
||||
updateLock : function(values) {
|
||||
for (var i = 0; i < values.length; ++i) {
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ TCAD.TWO.ParametricManager.prototype._add = function(constr) {
|
|||
|
||||
TCAD.TWO.ParametricManager.prototype.checkRedundancy = function (subSystem, constr) {
|
||||
var solver = this.prepareForSubSystem([], subSystem);
|
||||
if (TCAD.parametric.diagnose(solver.system).conflict) {
|
||||
if (solver.diagnose().conflict) {
|
||||
alert("Most likely this "+constr.NAME + " constraint is CONFLICTING!")
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,16 +6,16 @@ TCAD.test.cases.roundRect = function() {
|
|||
|
||||
var ep = APP.viewer.findById(28);
|
||||
var pm = APP.viewer.parametricManager;
|
||||
_assertEqD(0.00002047865, pm.prepare([]).solvers[0].system.error(), 1e-12);
|
||||
_assertEqD(0.00002047865, pm.prepare([]).solvers[0].error(), 1e-12);
|
||||
ep.x += 30;
|
||||
var solver = pm.prepare([]).solvers[0];
|
||||
_assertEqD(60, solver.system.error(), 0.01);
|
||||
_assertEqD(60, solver.error(), 0.01);
|
||||
var status = solver.solve(true);
|
||||
_assertEqD(0.000005, solver.system.error(), 1e-8);
|
||||
_assertEqD(0.000005, solver.error(), 1e-8);
|
||||
_assertEq(12, status.evalCount);
|
||||
_assertEq(1, status.returnCode);
|
||||
var status = solver.solve(false);
|
||||
_assertEqD(1.4575007867279055e-10, solver.system.error(), 1e-12);
|
||||
_assertEqD(1.4575007867279055e-10, solver.error(), 1e-12);
|
||||
_assertEq(20, status.evalCount);
|
||||
_assertEq(1, status.returnCode);
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue