''' Learn how to configure a Polhemus device that communicates with an instance of a Liberty tracker. ''' import avango import avango.daemon import avango.daemon.polhemus #import polhemus # enable logging for detailed information on device setup avango.enable_logging() # create a station for each target you want to track s1 = avango.daemon.Station('M1') s2 = avango.daemon.Station('M2') # create instance of Polhemus polhemus = avango.daemon.polhemus.Polhemus() # add stations (level should correspond to the number of the Marker) polhemus.stations[1] = s1 polhemus.stations[2] = s2 # start daemon (will enter the main loop) avango.daemon.run([polhemus])
########################################################################## ''' A distributed viewer setup: This Python scripts starts an avango.osg.simpleviewer to load a given geometry. Any client connected to the group "testgroup" should receive this model. (see also simpleviewer-clnt.py) ''' import avango import avango.script import avango.gua from avango.script import field_has_changed import time from examples_common.GuaVE import GuaVE avango.enable_logging(4, "server.log") nettrans = avango.gua.nodes.NetTransform( Name="net", # specify role, ip, and port Groupname="AVSERVER|127.0.0.1|7432") class TimedRotate(avango.script.Script): TimeIn = avango.SFFloat() MatrixOut = avango.gua.SFMatrix4() @field_has_changed(TimeIn) def update(self): self.MatrixOut.value = avango.gua.make_rot_mat(self.TimeIn.value * 2.0, 0.0, 1.0, 0.0)
''' A distributed viewer setup: This Python scripts starts an avango.osg.simpleviewer to load a given geometry. Any client connected to the group "testgroup" should receive this model. (see also simpleviewer-clnt.py) ''' import avango import avango.script import avango.gua from avango.script import field_has_changed import time from examples_common.GuaVE import GuaVE avango.enable_logging(4, "server.log") nettrans = avango.gua.nodes.NetTransform( Name = "net", # specify role, ip, and port Groupname = "AVSERVER|127.0.0.1|7432" ) class TimedRotate(avango.script.Script): TimeIn = avango.SFFloat() MatrixOut = avango.gua.SFMatrix4() @field_has_changed(TimeIn) def update(self): self.MatrixOut.value = avango.gua.make_rot_mat( self.TimeIn.value*2.0, 0.0, 1.0, 0.0)
inspector = avango.inspector.nodes.Inspector() elif opt in ("-o", "--option"): try: key, value = arg.split(":") options[key] = value except: print "WARNING: Ignoring ill-formated option: '%s'" % arg else: if arg: args.insert(0, arg) args.insert(0, opt) if notify_level > -1: if notify_logfile == '': avango.enable_logging(notify_level) else: avango.enable_logging(notify_level, notify_logfile) global _selected_display _selected_display = _make_display(display_type, inspector, options) return args def get_display_type(): "Returns a string identifying the used display" return _selected_display.get_display_type() def get_display(): "Returns the used display"