summaryrefslogtreecommitdiff
path: root/main.lua
diff options
context:
space:
mode:
authorGabriel Pérez-Cerezo <gabriel@gpcf.eu>2019-02-21 12:29:00 +0100
committerGabriel Pérez-Cerezo <gabriel@gpcf.eu>2019-02-21 12:29:00 +0100
commit61fbbc59093065ec6adf39cf056d219862aaff8e (patch)
treec551bb66454b072717b26cd5b3e8c7863e1ddfdd /main.lua
parentb6c5604dcf53f43a64243feaa654a7b422d1bfa9 (diff)
downloadadvtrains_netmapper-61fbbc59093065ec6adf39cf056d219862aaff8e.tar.gz
advtrains_netmapper-61fbbc59093065ec6adf39cf056d219862aaff8e.tar.bz2
advtrains_netmapper-61fbbc59093065ec6adf39cf056d219862aaff8e.zip
Draw trains
Trains get drawn now as small circles, the line number gets drawn next to the train. Moving trains are green, stopped trains are orange.
Diffstat (limited to 'main.lua')
-rw-r--r--main.lua18
1 files changed, 17 insertions, 1 deletions
diff --git a/main.lua b/main.lua
index 6699cf7..6f2abfa 100644
--- a/main.lua
+++ b/main.lua
@@ -100,7 +100,7 @@ if type(tbl) ~= "table" then
error("not a table")
end
if tbl.version then
-
+ advtrains.trains = tbl.trains
advtrains.ndb.load_data(tbl.ndb)
else
@@ -302,7 +302,23 @@ while stpos do
stpos, conns = advtrains.ndb.mapper_find_starting_point()
end
+-- draw trains
+trains = 0
+for i,v in pairs(advtrains.trains) do
+ pos = v.last_pos
+ color = "green"
+ if v.velocity == 0 then
+ color = "orange"
+ end
+ svgfile:write("<circle cx=\""..pos.x.."\" cy=\""..-pos.z.."\" r=\"3\" stroke=\""..color.."\" stroke-width=\"1\" fill=\"none\" />")
+ if v.line then
+ svgfile:write(" <text x=\""..(pos.x+5).."\" y=\""..-pos.z.."\" class=\"trainline\">"..v.line.."</text>")
+ end
+ trains = trains+1
+end
+
svgfile:write("</svg>")
svgfile:close()
print("\nWrote",plcnt,"polylines. Processed", ndb_nodes_handled, "track,",ndb_nodes_notrack, "non-track nodes out of", ndb_nodes_total)
+print("Drew "..trains.." trains")