def main(): input_filename = sys.argv[1] rw = vtk.vtkRenderWindow() rwi = vtk.vtkRenderWindowInteractor() rwi.SetRenderWindow(rw) rwi.Initialize() actors_list, ren = read_vrml(rw, input_filename) #=========================================================================== # Prepare Lights # Necessary because the scene can have a static light #=========================================================================== ren.RemoveAllLights() ren.CreateLight() view = SpineView(ren, rw, actors_list) view.show_actor(1) ctx = zmq.Context() transport = ZmqClientTransport.create(ctx, 'tcp://127.0.0.1:8090') rpc_client = RPCClient(JSONRPCProtocol(), transport) hub = rpc_client.get_proxy(prefix='HubSrv.') gw = hub.new_gateway('gwzmq', 'zmq', 8091) print 'created', gw hub.subscribe('gwzmq', 'spine_selected') socket = ctx.socket(zmq.SUB) socket.connect('tcp://127.0.0.1:8091') socket.setsockopt(zmq.SUBSCRIBE,'') poller = zmqPoller(socket) poller.callbacks['spine_selected'] = lambda t,m : view.show_actor(random.randint(0,1000)) rwi.AddObserver('TimerEvent', poller.run) _timerId = rwi.CreateRepeatingTimer(100); rwi.Start() print 'yeah'
def main(): use_zmq = True use_http = not use_zmq if use_zmq: ctx = zmq.Context() transport = ZmqClientTransport.create(ctx, 'tcp://127.0.0.1:10111') rpc_client = RPCClient(JSONRPCProtocol(), transport) elif use_http: rpc_client = RPCClient( JSONRPCProtocol(), HttpPostClientTransport('http://127.0.0.1:8080/') ) if use_zmq: res = raw_call(transport.socket, 'echo', {'s':'Ping'}) print 'Raw call result:', res res = raw_call(transport.socket, 'echo', ['Pong']) print 'Raw call result:', res remote_server = rpc_client.get_proxy() schema, data = _get_data() result = rpc_client.call('TableSrv.new_table', args=['table1', data, schema], kwargs=None) print 'Client result:', result #table_service = RPCProxy(rpc_client, prefix='TableSrv.') table_service = rpc_client.get_proxy(prefix='TableSrv.') table2 = table_service.new_table('table2', data, schema) print 'Proxy result:', result result = table_service.find(table2, {'$or':[{'State': 'NY'},{'State': 'DC'}]}) print 'Proxy result:', result result = table_service.insert(table2, {'State': 'MD', 'LiveMeanning': 42}) print 'Proxy result:', result result = table_service.get_data(table2) print 'Proxy result:', result result = remote_server.echo('Hello, World!') print "Server answered:", result #remote_server.tables_container.new_table() dselect = rpc_client.call('DynSelectSrv.new_dselect', args=['dselect', table2], kwargs=None) print 'New dselect', dselect result = rpc_client.call('DynSelectSrv.new_categorical_condition', [dselect, 'State',[],'cond1'], kwargs=None) print 'New Categorical Condition', result