v2sim 1.4.2__tar.gz → 1.4.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {v2sim-1.4.2 → v2sim-1.4.4}/PKG-INFO +1 -1
- {v2sim-1.4.2 → v2sim-1.4.4}/pyproject.toml +1 -1
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/__init__.py +1 -1
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/sim_single.py +40 -1
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gen/misc.py +27 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/_lang/en_US.lang +1 -1
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/_lang/zh_CN.lang +1 -1
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/osmGet.py +11 -1
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/plgbox/__init__.py +5 -34
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/plgbox/_lang/en_US.lang +1 -1
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/plgbox/_lang/zh_CN.lang +1 -1
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/locale/lang.py +5 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/locale/zh_CN.py +5 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plugins/pool.py +67 -2
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/veh/veh.py +6 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/.gitignore +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/LICENSE +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/README.md +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/cmd_advplot.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/cmd_convert.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/cmd_csquery.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/cmd_gen_cs.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/cmd_gen_trip.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/cmd_plot.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/gui_cmp.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/gui_convert.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/gui_main.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/gui_osm.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/gui_para.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/gui_plgman.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/app/gui_viewer.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/core.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gen/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gen/core.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gen/csquery.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gen/poly.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gen/trip.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gen/veh.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/cmpbox/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/cmpbox/_lang/en_US.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/cmpbox/_lang/zh_CN.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/com_no_vx.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/common.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/convertbox/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/convertbox/_lang/en_US.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/convertbox/_lang/zh_CN.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/evtq.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/langhelper.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/_lang/en_US.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/_lang/zh_CN.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/lipad.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/network.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/pdfe.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/prope.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/rle.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/scrtv.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/sfe.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/sid.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/controls/utils.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/cscsveditor.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/loadingbox.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/plugin.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/sedit.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/mainbox/utils.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/osmBuild.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/osmWebWizard.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/ptlines2flows.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/readme.md +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/tileGet.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/navteqPolyconvert.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/opendriveNetconvert.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/opendriveNetconvertBicycle.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/opendriveNetconvertPedestrians.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvert.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvertAerialway.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvertAirport.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvertBicycle.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvertBidiRail.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvertExtraRail.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvertPedestrians.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvertPedestriansNES.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvertRailUsage.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvertShips.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmNetconvertUrbanDe.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmPolyconvert.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/osmPolyconvertRail.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/visumPolyconvert.typ.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/SimpleWebSocketServer.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/bicycle.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/bus.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/favicon.ico +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/generate.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/map.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/motorcycle.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/passenger.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/pedestrian.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/rail.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/rail_urban.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/road.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/ship.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/tram.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/images/truck.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/index.html +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/jquery-3.5.1.min.js +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/lib.js +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/script.js +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/webWizard/style.css +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/parabox/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/parabox/_lang/en.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/parabox/_lang/zh_CN.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/parabox/lgb.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/parabox/pareditor.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/parabox/utils.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/progbox/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/viewerbox/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/viewerbox/_lang/en_US.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/viewerbox/_lang/zh_CN.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/viewerbox/gridpage.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/viewerbox/optbox.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/viewerbox/plotpad.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/viewerbox/plotpage.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/viewerbox/srd.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/viewerbox/statepage.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/viewerbox/trips.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/welcomebox/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/welcomebox/_lang/en_US.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/welcomebox/_lang/zh_CN.lang +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/welcomebox/v2sim.png +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/hub/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/hub/cs.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/hub/hub.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/hub/s.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/locale/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/net.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plot/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plot/example.txt +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plot/plot.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plot/reader.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plugins/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plugins/base.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plugins/dyntrip.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plugins/ocur.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plugins/pdn.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/plugins/v2g.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/H.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/H_spr.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/H_spr_weekday.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/H_spr_weekend.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/O_spr.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/O_spr_weekday.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/O_spr_weekend.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/R_spr.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/R_spr_weekday.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/R_spr_weekend.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/W_spr.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/W_spr_weekday.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/duration_of_parking/W_spr_weekend.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/soc_dist.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/space_transfer_probability/H_spr_weekday.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/space_transfer_probability/H_spr_weekend.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/space_transfer_probability/O_spr_weekday.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/space_transfer_probability/O_spr_weekend.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/space_transfer_probability/R_spr_weekday.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/space_transfer_probability/R_spr_weekend.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/space_transfer_probability/W_spr_weekday.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/space_transfer_probability/W_spr_weekend.csv +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/probtable/vtypes.xml +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/seg.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/base.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/routing.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/sumo.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/tlog.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/utils.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/ux.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/uxsim/LICENSE +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/uxsim/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/uxsim/analyzer.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/uxsim/readme.md +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/uxsim/scenario_reader_writer.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/uxsim/utils.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/uxsim/uxsim.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/uxworld.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/sim/win_vis.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/stats/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/stats/base.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/stats/logcs.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/stats/logev.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/stats/loggr.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/stats/manager.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/utils.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/veh/__init__.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/veh/ev.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/veh/params.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/veh/vdict.py +0 -0
- {v2sim-1.4.2 → v2sim-1.4.4}/v2sim/wrapper.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: v2sim
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.4
|
|
4
4
|
Summary: V2Sim: An Open-Source V2G Simulation Platform in Urban Power and Transportation Network
|
|
5
5
|
Project-URL: Homepage, https://github.com/hesl-seu/v2sim
|
|
6
6
|
Project-URL: Documentation, https://hesl-seu.github.io/v2sim-wiki/
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "v2sim"
|
|
7
|
-
version = "1.4.
|
|
7
|
+
version = "1.4.4"
|
|
8
8
|
dependencies = [ "feasytools>=0.1.4", "fpowerkit>=0.4.1", "networkx>=3.2.1", "numpy", "matplotlib", "pyproj", "requests", "cloudpickle", "sumolib", "dill", "libsumo", "scipy",]
|
|
9
9
|
requires-python = ">= 3.9"
|
|
10
10
|
license = "BSD-3-Clause"
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from pathlib import Path
|
|
1
2
|
import threading, sys, logging, platform
|
|
2
3
|
from typing import Optional, Union
|
|
3
4
|
from v2sim import Lang, get_sim_params
|
|
@@ -82,8 +83,46 @@ def main():
|
|
|
82
83
|
print(Lang.MAIN_HELP_STR)
|
|
83
84
|
return
|
|
84
85
|
|
|
86
|
+
# Version information
|
|
87
|
+
if args.pop_bool("version"):
|
|
88
|
+
import v2sim
|
|
89
|
+
print(v2sim.__version__)
|
|
90
|
+
return
|
|
91
|
+
|
|
92
|
+
# Add/del plugins
|
|
93
|
+
add_plg = args.pop_str_or_none("add-plugin")
|
|
94
|
+
if add_plg:
|
|
95
|
+
if not add_plg.endswith(".py") or not Path(add_plg).is_file():
|
|
96
|
+
error_exit(Lang.ERROR_MAIN_PLUGIN_FILE.format(add_plg))
|
|
97
|
+
from v2sim.plugins import PluginHelper
|
|
98
|
+
if PluginHelper.add_plugin(add_plg, as_link=False):
|
|
99
|
+
print(Lang.MAIN_ADD_PLUGIN_SUCCESS.format(add_plg))
|
|
100
|
+
else:
|
|
101
|
+
print(Lang.MAIN_ADD_PLUGIN_FAIL.format(add_plg))
|
|
102
|
+
return
|
|
103
|
+
|
|
104
|
+
add_plg_link = args.pop_str_or_none("add-plugin-link")
|
|
105
|
+
if add_plg_link:
|
|
106
|
+
if not add_plg_link.endswith(".py") or not Path(add_plg_link).is_file():
|
|
107
|
+
error_exit(Lang.ERROR_MAIN_PLUGIN_FILE.format(add_plg_link))
|
|
108
|
+
from v2sim.plugins import PluginHelper
|
|
109
|
+
if PluginHelper.add_plugin(add_plg_link, as_link=True):
|
|
110
|
+
print(Lang.MAIN_ADD_PLUGIN_SUCCESS.format(add_plg_link))
|
|
111
|
+
else:
|
|
112
|
+
print(Lang.MAIN_ADD_PLUGIN_FAIL.format(add_plg_link))
|
|
113
|
+
return
|
|
114
|
+
|
|
115
|
+
del_plg_name = args.pop_str_or_none("del-plugin")
|
|
116
|
+
if del_plg_name:
|
|
117
|
+
from v2sim.plugins import PluginHelper
|
|
118
|
+
if PluginHelper.del_plugin(del_plg_name):
|
|
119
|
+
print(Lang.MAIN_DEL_PLUGIN_SUCCESS.format(del_plg_name))
|
|
120
|
+
else:
|
|
121
|
+
print(Lang.MAIN_DEL_PLUGIN_NOT_FOUND.format(del_plg_name))
|
|
122
|
+
return
|
|
123
|
+
|
|
85
124
|
# List available plugins and statistics
|
|
86
|
-
if args.pop_bool("ls-com"):
|
|
125
|
+
if args.pop_bool("ls-com") or args.pop_bool("list-plugins"):
|
|
87
126
|
plg_pool, sta_pool = create_pools()
|
|
88
127
|
print(Lang.MAIN_LS_TITLE_PLG)
|
|
89
128
|
for key, (_, deps) in plg_pool.GetAllPlugins().items():
|
|
@@ -70,7 +70,34 @@ class VehicleTypePool:
|
|
|
70
70
|
return self.sample_evtype()
|
|
71
71
|
else:
|
|
72
72
|
return self.sample_gvtype()
|
|
73
|
+
|
|
74
|
+
def add_evtype(self, evtype:EVType, weight:float):
|
|
75
|
+
self.__evtypes.append(evtype)
|
|
76
|
+
self.__evt_weights.append(weight)
|
|
77
|
+
self.__total_ev_weight += weight
|
|
78
|
+
|
|
79
|
+
def add_gvtype(self, gvtype:GVType, weight:float):
|
|
80
|
+
self.__gvtypes.append(gvtype)
|
|
81
|
+
self.__gvt_weights.append(weight)
|
|
82
|
+
self.__total_gv_weight += weight
|
|
73
83
|
|
|
84
|
+
def remove_evtype(self, evtype:EVType):
|
|
85
|
+
for i, et in enumerate(self.__evtypes):
|
|
86
|
+
if et == evtype:
|
|
87
|
+
self.__total_ev_weight -= self.__evt_weights[i]
|
|
88
|
+
del self.__evtypes[i]
|
|
89
|
+
del self.__evt_weights[i]
|
|
90
|
+
return
|
|
91
|
+
raise ValueError("EVType not found in pool")
|
|
92
|
+
|
|
93
|
+
def remove_gvtype(self, gvtype:GVType):
|
|
94
|
+
for i, gt in enumerate(self.__gvtypes):
|
|
95
|
+
if gt == gvtype:
|
|
96
|
+
self.__total_gv_weight -= self.__gvt_weights[i]
|
|
97
|
+
del self.__gvtypes[i]
|
|
98
|
+
del self.__gvt_weights[i]
|
|
99
|
+
return
|
|
100
|
+
raise ValueError("GVType not found in pool")
|
|
74
101
|
|
|
75
102
|
def random_diff(seq:Sequence[Any], exclude:Any):
|
|
76
103
|
"""Choose a random element from `seq` that is not equal to `exclude`"""
|
|
@@ -3,7 +3,7 @@ BTN_FIND=Find
|
|
|
3
3
|
MB_EXIT_SAVE=Save the project before exit?
|
|
4
4
|
MB_SAVE_AND_SIM=Project not saved. Save the project and start simulation?
|
|
5
5
|
STA_READY=Ready
|
|
6
|
-
TITLE=V2Sim
|
|
6
|
+
TITLE=V2Sim Project Editor
|
|
7
7
|
LB_COUNT=Count: {0}
|
|
8
8
|
MENU_PROJ=Project
|
|
9
9
|
MENU_OPEN=Open...
|
|
@@ -151,7 +151,13 @@ def readCompressed(options, conn, urlpath, query, roadTypesJSON, getShapes, file
|
|
|
151
151
|
with open(options.query_output, "w") as outf:
|
|
152
152
|
outf.write(finalQuery)
|
|
153
153
|
|
|
154
|
-
|
|
154
|
+
request_path = urlpath if urlpath.startswith('/') else '/' + urlpath
|
|
155
|
+
headers = {
|
|
156
|
+
'Accept-Encoding': 'gzip',
|
|
157
|
+
'User-Agent': 'v2sim-osmWebWizard/1.0 (+https://github.com/hesl-seu/v2sim)',
|
|
158
|
+
'Accept': '*/*'
|
|
159
|
+
}
|
|
160
|
+
conn.request("POST", request_path, finalQuery.encode('utf-8'), headers=headers)
|
|
155
161
|
|
|
156
162
|
response = conn.getresponse()
|
|
157
163
|
if options.verbose:
|
|
@@ -171,6 +177,10 @@ def readCompressed(options, conn, urlpath, query, roadTypesJSON, getShapes, file
|
|
|
171
177
|
out.write(gzip.compress(lines))
|
|
172
178
|
else:
|
|
173
179
|
out.write(lines)
|
|
180
|
+
else:
|
|
181
|
+
print("Error: Overpass API returned HTTP %s (%s)" % (response.status, response.reason), file=sys.stderr)
|
|
182
|
+
error_content = response.read().decode('utf-8', errors='replace')
|
|
183
|
+
print("Response: %s" % error_content, file=sys.stderr)
|
|
174
184
|
|
|
175
185
|
|
|
176
186
|
def get_options(args):
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
from v2sim.gui.common import *
|
|
2
2
|
from collections import defaultdict
|
|
3
3
|
from v2sim import load_external_components, PLUGINS_DIR, get_internal_components
|
|
4
|
-
import
|
|
5
|
-
import shutil
|
|
4
|
+
from v2sim.plugins import PluginHelper
|
|
6
5
|
|
|
7
6
|
|
|
8
7
|
_ = LangLib.Load(__file__)
|
|
@@ -64,40 +63,15 @@ class PlgBox(Tk):
|
|
|
64
63
|
for v in val:
|
|
65
64
|
tree.insert(key_id, 'end', text=v)
|
|
66
65
|
return confirm_have_exists
|
|
67
|
-
|
|
68
|
-
def get_lang_file(src_path: Union[str, Path]) -> Union[Path, None]:
|
|
69
|
-
src_parent = Path(src_path).parent
|
|
70
|
-
if (src_parent / "_lang").is_dir():
|
|
71
|
-
src_lang = src_parent / "_lang"
|
|
72
|
-
elif (src_parent / (Path(src_path).stem + ".langs")).is_file():
|
|
73
|
-
src_lang = src_parent / (Path(src_path).stem + ".langs")
|
|
74
|
-
else:
|
|
75
|
-
src_lang = None
|
|
76
|
-
return src_lang
|
|
77
66
|
|
|
78
67
|
def on_import(link = False):
|
|
79
68
|
src = filedialog.askopenfilename(title=_("IMPORT_PLUGIN_TITLE"), filetypes=[(_("Python files"), "*.py")])
|
|
80
69
|
if not src: return
|
|
81
|
-
src_lang = get_lang_file(src)
|
|
82
|
-
|
|
83
|
-
dest_dir = PLUGINS_DIR
|
|
84
|
-
dest_dir.mkdir(parents=True, exist_ok=True)
|
|
85
|
-
|
|
86
|
-
dest_path_link = dest_dir / (Path(src).stem + ".link")
|
|
87
|
-
dest_path_py = dest_dir / (Path(src).stem + ".py")
|
|
88
70
|
|
|
89
71
|
try:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
raise RuntimeError(_("ERROR_FILE_EXISTS").format(dest_path_py.name))
|
|
94
|
-
if link:
|
|
95
|
-
with open(dest_path_link, "w", encoding="utf-8") as f:
|
|
96
|
-
f.write(src)
|
|
97
|
-
else:
|
|
98
|
-
shutil.copy2(src, dest_path_py)
|
|
99
|
-
if src_lang is not None:
|
|
100
|
-
shutil.copy2(src_lang, dest_dir / src_lang.name)
|
|
72
|
+
success = PluginHelper.add_plugin(src, as_link=link)
|
|
73
|
+
if not success:
|
|
74
|
+
raise RuntimeError(_("ERROR_FILE_EXISTS"))
|
|
101
75
|
plg_name = Path(src).stem
|
|
102
76
|
if refresh_tree(plg_name):
|
|
103
77
|
MB.showinfo(_("INFO"), _("IMPORT_SUCCESS").format(plg_name))
|
|
@@ -125,11 +99,8 @@ class PlgBox(Tk):
|
|
|
125
99
|
return
|
|
126
100
|
|
|
127
101
|
file = PLUGINS_DIR / text # keep extension
|
|
128
|
-
src_lang = get_lang_file(file)
|
|
129
102
|
try:
|
|
130
|
-
|
|
131
|
-
if src_lang is not None:
|
|
132
|
-
os.remove(src_lang)
|
|
103
|
+
PluginHelper.del_plugin(Path(file).stem)
|
|
133
104
|
MB.showinfo(_("INFO"), _("DELETE_SUCCESS"))
|
|
134
105
|
refresh_tree()
|
|
135
106
|
except Exception as e:
|
|
@@ -17,5 +17,5 @@ IMPORT_BUTTON=Import...
|
|
|
17
17
|
IMPORT_LINK_BUTTON=Import link...
|
|
18
18
|
DELETE_BUTTON=Remove
|
|
19
19
|
IMPORT_BUT_NOT_LOADED=Plugin {0} has been imported, but it does not contain plugins or statistics.
|
|
20
|
-
ERROR_FILE_EXISTS=
|
|
20
|
+
ERROR_FILE_EXISTS=A plugin with the same name already existed.
|
|
21
21
|
INTERNAL=(Internal)
|
|
@@ -48,6 +48,7 @@ class Lang:
|
|
|
48
48
|
ERROR_INVALID_CACHE_ROUTE = "Error: Invalid cache route: {0}"
|
|
49
49
|
ERROR_INVALID_TRIP_GEN_MODE = "Error: Invalid trip generation mode: {0}"
|
|
50
50
|
ERROR_CS_NODE_NOT_EXIST = "Error: CS node {0} does not exist in the road network."
|
|
51
|
+
ERROR_MAIN_PLUGIN_FILE = "Error: Plugin file '{}' is invalid."
|
|
51
52
|
|
|
52
53
|
WARN_COPY_SKIPPED = "Warning: Copying case files skipped to avoid copying into itself."
|
|
53
54
|
WARN_EXT_LOAD_FAILED = "Warning: {0} is a Python file, but cannot be loaded as a package: {1}"
|
|
@@ -86,6 +87,10 @@ class Lang:
|
|
|
86
87
|
MAIN_SIGINT = "Received Ctrl-C signal, exiting prematurely."
|
|
87
88
|
MAIN_SIM_DONE = "Simulation done. Duration: {}"
|
|
88
89
|
MAIN_SIM_PROG = "Progress: {0:.2f}%, {1}/{2}. Elapsed: {3}, ETA: {4}"
|
|
90
|
+
MAIN_ADD_PLUGIN_SUCCESS = "Plugin '{}' has been imported successfully."
|
|
91
|
+
MAIN_ADD_PLUGIN_FAIL = "Failed to import plugin '{}'."
|
|
92
|
+
MAIN_DEL_PLUGIN_SUCCESS = "Plugin '{}' has been deleted successfully."
|
|
93
|
+
MAIN_DEL_PLUGIN_NOT_FOUND = "Plugin '{}' not found."
|
|
89
94
|
|
|
90
95
|
PARA_SIM_SKIP_LIST = "Skip list: {}"
|
|
91
96
|
PARA_SIM_DONE_PARA = "Parallel part done. Duration: {}"
|
|
@@ -37,6 +37,7 @@ class _locale:
|
|
|
37
37
|
ERROR_INVALID_CACHE_ROUTE = "错误: 无效的寻路缓存模式: {0}"
|
|
38
38
|
ERROR_INVALID_TRIP_GEN_MODE = "错误: 无效的行程生成模式: {0}"
|
|
39
39
|
ERROR_CS_NODE_NOT_EXIST = "错误: 充电站所在节点{0}不存在"
|
|
40
|
+
ERROR_MAIN_PLUGIN_FILE = "错误: 插件文件'{}'无效."
|
|
40
41
|
|
|
41
42
|
WARN_EXT_LOAD_FAILED = "警告: {0}是Python文件, 但无法作为包加载: {1}"
|
|
42
43
|
WARN_EXT_INVALID_PLUGIN = "警告: {0}的plugin_exports无效, 无法作为插件导入: {1}"
|
|
@@ -72,6 +73,10 @@ class _locale:
|
|
|
72
73
|
MAIN_SIGINT = "收到Ctrl-C退出信号, 提前退出"
|
|
73
74
|
MAIN_SIM_DONE = "仿真结束. 用时: {}"
|
|
74
75
|
MAIN_SIM_PROG = "进度: {0:.2f}%, {1}/{2}. 已用时: {3}, 预计剩余时间: {4}"
|
|
76
|
+
MAIN_ADD_PLUGIN_SUCCESS = "插件'{}'已成功导入."
|
|
77
|
+
MAIN_ADD_PLUGIN_FAIL = "导入插件'{}'失败."
|
|
78
|
+
MAIN_DEL_PLUGIN_SUCCESS = "插件'{}'已成功删除."
|
|
79
|
+
MAIN_DEL_PLUGIN_NOT_FOUND = "未找到插件'{}'."
|
|
75
80
|
|
|
76
81
|
PARA_SIM_SKIP_LIST = "跳过: {}"
|
|
77
82
|
PARA_SIM_DONE_PARA = "并行部分完成. 用时: {}"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import dill as pickle
|
|
2
|
-
from typing import Type
|
|
2
|
+
from typing import Type, Union
|
|
3
3
|
from ..utils import CheckPyVersion, PyVersion
|
|
4
4
|
from .base import *
|
|
5
5
|
from .pdn import PluginPDN
|
|
@@ -42,6 +42,71 @@ def RegPlugin(name:str, dependencies:Optional[List[str]] = None):
|
|
|
42
42
|
class PluginError(Exception):
|
|
43
43
|
pass
|
|
44
44
|
|
|
45
|
+
|
|
46
|
+
class PluginHelper:
|
|
47
|
+
@staticmethod
|
|
48
|
+
def get_lang_file(src_path: Union[str, Path]) -> Union[Path, None]:
|
|
49
|
+
src_parent = Path(src_path).parent
|
|
50
|
+
if (src_parent / "_lang").is_dir():
|
|
51
|
+
src_lang = src_parent / "_lang"
|
|
52
|
+
elif (src_parent / (Path(src_path).stem + ".langs")).is_file():
|
|
53
|
+
src_lang = src_parent / (Path(src_path).stem + ".langs")
|
|
54
|
+
else:
|
|
55
|
+
src_lang = None
|
|
56
|
+
return src_lang
|
|
57
|
+
|
|
58
|
+
@staticmethod
|
|
59
|
+
def has_plugin(name:str) -> bool:
|
|
60
|
+
from ..core import PLUGINS_DIR
|
|
61
|
+
dest_dir = PLUGINS_DIR
|
|
62
|
+
dest_path_link = dest_dir / (name + ".link")
|
|
63
|
+
dest_path_py = dest_dir / (name + ".py")
|
|
64
|
+
return dest_path_link.exists() or dest_path_py.exists()
|
|
65
|
+
|
|
66
|
+
@staticmethod
|
|
67
|
+
def add_plugin(file: Union[str, Path], as_link:bool = False) -> bool:
|
|
68
|
+
import shutil
|
|
69
|
+
from ..core import PLUGINS_DIR
|
|
70
|
+
dest_dir = PLUGINS_DIR
|
|
71
|
+
dest_dir.mkdir(parents=True, exist_ok=True)
|
|
72
|
+
file = Path(file).absolute()
|
|
73
|
+
name = file.stem
|
|
74
|
+
if PluginHelper.has_plugin(name):
|
|
75
|
+
return False
|
|
76
|
+
dest_path_link = dest_dir / (name + ".link")
|
|
77
|
+
dest_path_py = dest_dir / (name + ".py")
|
|
78
|
+
|
|
79
|
+
if as_link:
|
|
80
|
+
with open(dest_path_link, "w", encoding="utf-8") as f:
|
|
81
|
+
f.write(str(file))
|
|
82
|
+
else:
|
|
83
|
+
src_lang = PluginHelper.get_lang_file(file)
|
|
84
|
+
shutil.copy2(file, dest_path_py)
|
|
85
|
+
if src_lang is not None:
|
|
86
|
+
shutil.copy2(src_lang, dest_dir / src_lang.name)
|
|
87
|
+
return True
|
|
88
|
+
|
|
89
|
+
@staticmethod
|
|
90
|
+
def del_plugin(name:str) -> bool:
|
|
91
|
+
from ..core import PLUGINS_DIR
|
|
92
|
+
dest_dir = PLUGINS_DIR
|
|
93
|
+
dest_path_link = dest_dir / (name + ".link")
|
|
94
|
+
dest_path_py = dest_dir / (name + ".py")
|
|
95
|
+
if dest_path_link.exists():
|
|
96
|
+
dest_path_link.unlink()
|
|
97
|
+
src_lang = PluginHelper.get_lang_file(dest_path_link)
|
|
98
|
+
if src_lang is not None:
|
|
99
|
+
src_lang.unlink()
|
|
100
|
+
return True
|
|
101
|
+
elif dest_path_py.exists():
|
|
102
|
+
dest_path_py.unlink()
|
|
103
|
+
src_lang = PluginHelper.get_lang_file(dest_path_py)
|
|
104
|
+
if src_lang is not None:
|
|
105
|
+
src_lang.unlink()
|
|
106
|
+
return True
|
|
107
|
+
else:
|
|
108
|
+
return False
|
|
109
|
+
|
|
45
110
|
class PluginPool:
|
|
46
111
|
'''Plugin pool'''
|
|
47
112
|
def __init__(self, use_internal_plugins:bool = True):
|
|
@@ -216,4 +281,4 @@ class PluginMan:
|
|
|
216
281
|
self._unsafe_load_states(d)
|
|
217
282
|
|
|
218
283
|
|
|
219
|
-
__all__ = ['PluginPool', 'PluginMan', 'PluginError', 'RegPlugin', 'PluginExports', 'GetInternalPlugins']
|
|
284
|
+
__all__ = ['PluginPool', 'PluginMan', 'PluginError', 'RegPlugin', 'PluginExports', 'GetInternalPlugins', 'PluginHelper']
|
|
@@ -115,6 +115,7 @@ class Vehicle:
|
|
|
115
115
|
# Energy storage
|
|
116
116
|
self._cap = cap # Energy capacity, kWh for EV, L for GV
|
|
117
117
|
assert 0.0 <= pct <= 1.0
|
|
118
|
+
self._init_pct = pct # Initial energy percentage (0.0~1.0)
|
|
118
119
|
self._energy = pct * cap # Current energy stored, kWh for EV, L for GV
|
|
119
120
|
self._epm = epm # Energy consumption per unit distance, kWh/m for EV, L/m for GV
|
|
120
121
|
|
|
@@ -235,6 +236,11 @@ class Vehicle:
|
|
|
235
236
|
self._cost = 0.0
|
|
236
237
|
self._dis = 0.0
|
|
237
238
|
self._trip_index = 0
|
|
239
|
+
self._energy = self._cap * self._init_pct
|
|
240
|
+
self._cs = None
|
|
241
|
+
self._etar = self._cap
|
|
242
|
+
self._fr_on_dpt = None
|
|
243
|
+
self._dpt_rs = None
|
|
238
244
|
|
|
239
245
|
def drive(self, new_dis: float):
|
|
240
246
|
"""
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{v2sim-1.4.2 → v2sim-1.4.4}/v2sim/gui/osmhelper/typemap/opendriveNetconvertPedestrians.typ.xml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|