diff -urN rt_v44/cg.py rt_v45/cg.py --- rt_v44/cg.py 2018-05-30 02:56:18.000000000 +0900 +++ rt_v45/cg.py 2018-06-04 23:11:09.000000000 +0900 @@ -20,8 +20,6 @@ srvs.setup() - dat.setup() - (w, h) = ( ut.arg_i('w', 640) , ut.arg_i('h', 480) ) div = ut.arg_i('div', 1) (w, h) = map( lambda v: v // div, (w, h) ) @@ -42,14 +40,18 @@ eye_f = way.liss_eye() wh2eye = lstx.opt( [ ax.wh_map(w, h), fcx.new(dz), ax.zoom_z(-1), ax.rot_x(90) ] ) - rt.del_cache() - + dep_sec = True n = cnt.n while cnt.up(): i = cnt.cur() - eye2g = ax.new_line( eye_f( cnt.cur_sec() ) ) + sec = cnt.cur_sec() + eye2g = ax.new_line( eye_f(sec) ) + if dep_sec: + dep_sec = dat.setup(sec) + if 'wf' not in sys.argv: + rt.del_cache() f = rt.draw if 'wf' in sys.argv: f = wf.draw diff -urN rt_v44/dat.py rt_v45/dat.py --- rt_v44/dat.py 2018-06-03 04:49:15.000000000 +0900 +++ rt_v45/dat.py 2018-06-04 23:11:09.000000000 +0900 @@ -8,6 +8,7 @@ import cylx import fcx import lstx +import way import sock import val import img @@ -71,17 +72,17 @@ if not m.get('rep'): m['rep'] = (0,0) -def setup_ydic(o): +def setup_ydic(o, sec): t = type(o) if t == list: - return list( map( setup_ydic, o ) ) + return list( map( lambda o: setup_ydic(o, sec), o ) ) if t == dict: - return dict( map( lambda k: ( k, setup_ydic( o.get(k) ) ), o.keys() ) ) + return dict( map( lambda k: ( k, setup_ydic( o.get(k), sec ) ), o.keys() ) ) if t == str and o.startswith('ax.'): return eval(o) return o -ydic = setup_ydic( ut.yaml_load( ut.arg_s('yaml', 'dat.yaml'), {} ) ) +ydic = {} def d_setup(d): # return lst [d] @@ -343,11 +344,16 @@ typ_d = '{{kind:i4,l2g:lx,def_col:col,maps:[{}],rtd:rtd}}'.format(typ_map) typ_data = '[{}]'.format(typ_d) -def setup(): +def setup(sec): data_name = ut.arg_s('data_name', 'copen') + fn = ut.arg_s('yaml', 'dat.yaml') + yd = setup_ydic( ut.yaml_load(fn, {}), sec ) + ydic.clear() + ydic.update(yd) data = ydic.get(data_name, []) data = sum( map( d_setup, data ), [] ) #print('data={}'.format(data)) val.cli.set_prop('data', typ_data, data) val.cli.set_prop('lights', '[ltd]', lights) + return ut.cmd_exec( "grep '\' " + fn ) != '' # EOF diff -urN rt_v44/dat6.yaml rt_v45/dat6.yaml --- rt_v44/dat6.yaml 1970-01-01 09:00:00.000000000 +0900 +++ rt_v45/dat6.yaml 2018-06-04 23:11:09.000000000 +0900 @@ -0,0 +1,47 @@ +pillar: +- kind: cube + rtd: { base: 0.1, diff: 0, reflect: 0.5, reflact: 0.5, density: 2 } + m2g: [ 'ax.zoom_z( way.get([(10,2),(1,2)], sec, True) )' ] +- kind: pipe + rtd: { base: 0.1, diff: 0, reflect: 0.5, reflact: 0.5, density: 2 } + m2g: [ 'ax.zoom([2,2,1])', ax.slide_z(-11) ] + rxs: + - [ m2g, append, 2, [ ax.slide_z(22) ] ] + +big_ball: +- kind: ball + rtd: { diff: 0.3 } + maps: + - fn: IMG_3999_4.mov + fn_r: IMG_3999_4.mov + t2m: [ ax.zoom_all(2), ax.rot_x(90) ] + - fn: IMG_3999_4.mov + fn_r: IMG_3999_4.mov + t2m: [ ax.zoom_all(2), ax.rot_x(90), ax.rot_z(180) ] + m2g: [ ax.zoom_all(1000) ] + +colosseum: +- kind: export + export: pillar + m2g: [ ax.slide_x(20) ] + rxs: + - [ m2g, append, 16, [ ax.rot_z(360.0/16) ] ] +- kind: pipe + rtd: { base: 0.1, diff: 0, reflect: 0.5, reflact: 0.5, density: 2 } + m2g: [ 'ax.zoom([24, way.get([(24,4),(1,4)], sec, True), 1])', ax.slide_z(-13) ] + rxs: + - [ m2g, append, 2, [ ax.slide_z(26) ] ] + +all: +- kind: export + export: colosseum + rxs: + - [ m2g, append, 2, [ ax.zoom(16) ] ] +- kind: ball + rtd: { base: 0.1, diff: 0, reflect: 0.5, reflact: 0.5, density: 2 } + l2m: [ 'ax.slide( way.liss([-3,-3,-3],[3,3,3],[3,4,5])(sec) )' ] + m2g: [ ax.zoom_all(6) ] +- kind: export + export: big_ball + +# EOF