Package mosp_examples :: Module random_wiggler
[hide private]
[frames] | no frames]

Source Code for Module mosp_examples.random_wiggler

 1  #!/bin/env python 
 2   
 3  """ Beginners' example: random movement 
 4      - random movement 
 5      - output to visual player, which is executed as child process 
 6      - you may try the other commented monitor examples - you can choose a single or multiple monitors 
 7  """ 
 8   
 9  import sys 
10  sys.path.append("..") 
11  import time 
12  import random 
13   
14  from mosp.core import Simulation, Person 
15  from mosp.geo import osm 
16  from mosp.impl import movement 
17  from mosp.monitors import * 
18   
19  __author__ = "P. Tute" 
20  __maintainer__ = "B. Henne" 
21  __contact__ = "henne@dcsec.uni-hannover.de" 
22  __copyright__ = "(c) 2010-2011, DCSec, Leibniz Universitaet Hannover, Germany" 
23  __license__ = "GPLv3" 
24   
25   
26 -class RandomWiggler(Person):
27 """Implements a simple person doing only random movement on the map. 28 @author: P. Tute""" 29 next_target = movement.person_next_target_random
30 31
32 -def main():
33 """Defines the simulation, map, monitors, persons.""" 34 t = time.time() 35 s = Simulation(geo=osm.OSMModel('../data/hannover2.osm'), rel_speed=40) 36 print time.time() - t 37 #m = s.add_monitor(EmptyMonitor, 2) 38 #m = s.add_monitor(PipePlayerMonitor, 2) 39 #m = s.add_monitor(RecordFilePlayerMonitor, 2) 40 #m = s.add_monitor(RecordFilePlayerMonitor, 2, filename='exampleoutput_RecordFilePlayerMonitor') 41 #m = s.add_monitor(ChildprocessPlayerChamplainMonitor, 2) 42 m = s.add_monitor(SocketPlayerMonitor, 2) 43 44 s.add_persons(RandomWiggler, 1000, monitor=m) 45 s.run(until=1000, real_time=True, monitor=True)
46 47 48 if __name__ == '__main__': 49 main() 50