1
2
3 """ Pausing example: person is paused at every node
4 - random movement
5 - at every node the person stops for 20 ticks
6 - uses pause_movement and Simulation.person_alarm_clock for waking up
7 (could alternativly be implemented using a special Location at every node)
8 - output to visual player, which is executed as child process
9 """
10
11 import sys
12 sys.path.append("..")
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 ChildprocessPlayerChamplainMonitor, SocketPlayerMonitor
18
19 __author__ = "B. Henne"
20 __contact__ = "henne@dcsec.uni-hannover.de"
21 __copyright__ = "(c) 2011, DCSec, Leibniz Universitaet Hannover, Germany"
22 __license__ = "GPLv3"
23
24
34
35
37 """Defines the simulation, map, monitors, persons."""
38 s = Simulation(geo=osm.OSMModel('../data/minimap1.osm'), rel_speed=20)
39
40 m = s.add_monitor(SocketPlayerMonitor, 2)
41 s.add_persons(PauseWiggler, 1, monitor=m)
42 s.run(until=500000, real_time=True, monitor=True)
43
44
45 if __name__ == '__main__':
46 main()
47