Sketch.solve() returns solve result as integer
This commit is contained in:
parent
b95e8e8789
commit
409783d01f
20
Sketch.py
20
Sketch.py
@ -2,6 +2,11 @@
|
||||
from numpy import *
|
||||
from FuncDesigner import *
|
||||
|
||||
UNDERCONSTRAINED = 0
|
||||
OVERCONSTRAINED = 1
|
||||
SOLVED = 2
|
||||
NO_SOLUTION = 3
|
||||
|
||||
class Sketch(object):
|
||||
def __init__(self):
|
||||
self.shapes = []
|
||||
@ -35,7 +40,10 @@ class Sketch(object):
|
||||
dim = self.num_constraints
|
||||
if self.num_variables > dim:
|
||||
dim = self.num_variables
|
||||
if self.num_variables == self.num_constraints:
|
||||
if self.num_variables < self.num_constraints:
|
||||
return OVERCONSTRAINED
|
||||
elif self.num_variables > self.num_constraints:
|
||||
return UNDERCONSTRAINED
|
||||
sle_equs = []
|
||||
variables = oovars(dim)
|
||||
for e in equations:
|
||||
@ -47,11 +55,11 @@ class Sketch(object):
|
||||
s = sle(sle_equs)
|
||||
r = s.solve()
|
||||
if r.ff != float('inf'):
|
||||
print "SOLVED: ", r(variables)
|
||||
# print "SOLVED: ", r(variables)
|
||||
for i in range(len(variables)):
|
||||
varid_to_shape_var[i][0].setVar(varid_to_shape_var[i][1],
|
||||
r(variables[i]))
|
||||
for s in self.shapes:
|
||||
print 'shape:', repr(s.vars)
|
||||
return True
|
||||
return False
|
||||
# for s in self.shapes:
|
||||
# print 'shape:', repr(s.vars)
|
||||
return SOLVED
|
||||
return NO_SOLUTION
|
||||
|
Loading…
x
Reference in New Issue
Block a user