from moedebug import *
from moenp import *
from moebez import *
+from schequeue import ScheduledTask
from math import atan2, atan, sqrt
counter = 0
def _dbg(oc, s):
- dbg('OC#%04d %s' % (oc._counter, s))
+ dbg('%s %s' % (oc._desc, s))
def __init__(oc, cp, nt):
- oc._counter = OptimisedCurve.counter
+ oc._desc = 'OC#%04d' % OptimisedCurve.counter
OptimisedCurve.counter += 1
+
oc._dbg('cp= ' + ' '.join(map(vec2dbg, cp)))
db = DiscreteBezier(cp, nt, bezier_constructor=BezierSegment)
findcurve_epsilon = 0.01
+ oc.sched = ScheduledTask(oc._await_subproc, oc._desc)
+ oc.sched.pre_spawn()
+
cl = ['./findcurve', '%d' % (nt+1), '%.18g' % findcurve_epsilon]
oc._dbg('STARTING FINDCURVE %s' % cl)
subproc = subprocess.Popen(
oc.subproc = subproc
oc.nt = nt
+ oc.sched.post_spawn()
#oc._await_subproc()
def _await_subproc(oc):
assert(subproc.returncode == 0)
oc.subproc = None
+ oc.sched.post_reap()
+
oc._result = np.reshape(findcurve_result, (-1,3), 'C')
oc._dbg(repr(oc._result))