diff --git a/flatland/utils/editor.py b/flatland/utils/editor.py index d9ad153f6fc88f9b499ed385d46279f2590e9896..dd0c4d4b96d8feb5e331802639445c9919646413 100644 --- a/flatland/utils/editor.py +++ b/flatland/utils/editor.py @@ -119,6 +119,7 @@ class View(object): tip="Regenerate the rails using the method selected below"), dict(name="Load", method=self.controller.load), dict(name="Save", method=self.controller.save), + dict(name="Save as image", method=self.controller.saveImage) ] self.lwButtons = [] @@ -364,6 +365,9 @@ class Controller(object): def save(self, event): self.model.save() + def saveImage(self, event): + self.model.saveImage() + def step(self, event): self.model.step() @@ -397,6 +401,7 @@ class EditorModel(object): self.iSelectedAgent = None self.init_agents_static = None self.thread = None + self.saveImageCnt = 0 def set_env(self, env): """ @@ -645,6 +650,11 @@ class EditorModel(object): # reset agents current (current position) self.env.agents = temp_store + def saveImage(self): + self.view.oRT.gl.saveImage('frame_{:04d}.bmp'.format(self.saveImageCnt)) + self.saveImageCnt += 1 + self.view.redraw() + def regenerate(self, method=None, nAgents=0, env=None): self.log("Regenerate size", self.regen_size_width, diff --git a/flatland/utils/graphics_pil.py b/flatland/utils/graphics_pil.py index fcf6b70d18b7c18a822245905d137de1c6f36572..5548d6f1a67802a7ad5b3d1d7edb1d773bb0836b 100644 --- a/flatland/utils/graphics_pil.py +++ b/flatland/utils/graphics_pil.py @@ -483,7 +483,7 @@ class PILSVG(PILGL): pilTrack = Image.alpha_composite(pilTrack, self.ltStationColors[iTarget % len(self.ltStationColors)]) if binTrans == 0: - if self.background_grid[col][row] < 4: + if self.background_grid[col][row] <= 4: a = int(self.background_grid[col][row]) a = a % len(self.dBuildings) if (col + row + col * row) % 13 > 11: diff --git a/notebooks/Scene_Editor.ipynb b/notebooks/Scene_Editor.ipynb index e69293913df269002b83b0417e4a9efad18e7b30..abfe62204686b47a0c311fc2cf8e02b3da3d7a7a 100644 --- a/notebooks/Scene_Editor.ipynb +++ b/notebooks/Scene_Editor.ipynb @@ -70,7 +70,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3cab2ff9e7fc4b4297783b504ffc37b5", + "model_id": "4153480c3fbe4fd9864a4d52b416477c", "version_major": 2, "version_minor": 0 }, diff --git a/notebooks/basic_elements_test.pkl b/notebooks/basic_elements_test.pkl index b5c85217e5c3465252c04e81d81527b1e5f58378..1e5377f6840b4504b64eb0ad768056f10dcca31a 100644 Binary files a/notebooks/basic_elements_test.pkl and b/notebooks/basic_elements_test.pkl differ