def model(env, nmodels=None, *args, **kwargs): #update_hook = kwargs.pop('update_hook', lambda _: None) # allows an external prog to update the status Status('started modelling') Log( '=' * 80 ) Log('GLASS version 0.1 %s' % time.asctime()) Log( '=' * 80 ) for o in env.objects: o.init() report(env) #init_model_generator(nmodels) if env.models is None: env.models = [] env.solutions = [] models = [] solutions = [] if nmodels is None: m = {'sol': None, 'obj,data': [ [o, {}] for o in env.objects ], 'tagged': False} models.append(m) else: # here all the work is done! # generate_models first generates the models (approx 2/3 of the tot time) # only then the for loop kicks in and does something (what??? takes approx 1/3 of tot time) for i,m in enumerate(generate_models(env.objects, nmodels, *args, **kwargs)): #if not (i%5): update_hook({'text': '', 'progress': (i+1,nmodels)}) #Status("generating models", i=i+1, of=nmodels) Log( 'Model %i/%i complete.' % (i+1, nmodels), overwritable=True) models.append(m) solutions.append(m['sol']) #print 'glcmds.py:model ???', id(m['sol']) Log( 'Generated %i model(s).' % len(models) ) _post_process(models) env.models.extend(models) env.solutions.extend(solutions) env.accepted_models = _filter(env.models)
def model(env, nmodels=None, *args, **kwargs): Log('=' * 80) Log('GLASS version 0.1 %s' % time.asctime()) Log('=' * 80) for o in env.objects: o.init() report(env) #init_model_generator(nmodels) if env.models is None: env.models = [] env.solutions = [] models = [] solutions = [] if nmodels is None: m = { 'sol': None, 'obj,data': [[o, {}] for o in env.objects], 'tagged': False } models.append(m) else: for i, m in enumerate( generate_models(env.objects, nmodels, *args, **kwargs)): Log('Model %i/%i complete.' % (i + 1, nmodels), overwritable=True) models.append(m) solutions.append(m['sol']) #print 'glcmds.py:model ???', id(m['sol']) Log('Generated %i model(s).' % len(models)) _post_process(models) env.models.extend(models) env.solutions.extend(solutions) env.accepted_models = _filter(env.models)
def model(env, nmodels=None, *args, **kwargs): Log( '=' * 80 ) Log('GLASS version 0.1 %s' % time.asctime()) Log( '=' * 80 ) for o in env.objects: o.init() report(env) #init_model_generator(nmodels) if env.models is None: env.models = [] env.solutions = [] models = [] solutions = [] if nmodels is None: m = {'sol': None, 'obj,data': [ [o, {}] for o in env.objects ], 'tagged': False} models.append(m) else: for i,m in enumerate(generate_models(env.objects, nmodels, *args, **kwargs)): Log( 'Model %i/%i complete.' % (i+1, nmodels), overwritable=True) models.append(m) solutions.append(m['sol']) #print 'glcmds.py:model ???', id(m['sol']) Log( 'Generated %i model(s).' % len(models) ) _post_process(models) env.models.extend(models) env.solutions.extend(solutions) env.accepted_models = _filter(env.models)