From 490289b9721102fddd36712b265f1eb4370af2ee Mon Sep 17 00:00:00 2001 From: tfmoraes Date: Fri, 27 Jul 2012 14:23:03 +0000 Subject: [PATCH] Added a method in viewer_volume to unload a given volume --- invesalius/data/viewer_volume.py | 6 ++++++ invesalius/data/volume.py | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/invesalius/data/viewer_volume.py b/invesalius/data/viewer_volume.py index e71871d..f5f490b 100755 --- a/invesalius/data/viewer_volume.py +++ b/invesalius/data/viewer_volume.py @@ -122,6 +122,8 @@ class Viewer(wx.Panel): # Raycating - related Publisher.subscribe(self.LoadVolume, 'Load volume into viewer') + Publisher.subscribe(self.UnloadVolume, + 'Unload volume') Publisher.subscribe(self.OnSetWindowLevelText, 'Set volume window and level text') Publisher.subscribe(self.OnHideRaycasting, @@ -681,6 +683,10 @@ class Viewer(wx.Panel): self.UpdateRender() + def UnloadVolume(self, pubsub_evt): + volume = pubsub_evt.data + self.ren.RemoveVolume(volume) + def OnSetViewAngle(self, evt_pubsub): view = evt_pubsub.data self.SetViewAngle(view) diff --git a/invesalius/data/volume.py b/invesalius/data/volume.py index 6996d54..e42afe5 100755 --- a/invesalius/data/volume.py +++ b/invesalius/data/volume.py @@ -87,6 +87,7 @@ class Volume(): self.volume = None self.image = None self.loaded_image = 0 + self.to_reload = False self.__bind_events() def __bind_events(self): @@ -162,6 +163,10 @@ class Volume(): self.__load_preset_config() if self.config: + if self.to_reload: + self.exist = False + Publisher.sendMessage('Unload volume', self.volume) + if self.exist: self.__load_preset() self.volume.SetVisibility(1) @@ -180,7 +185,7 @@ class Volume(): self.loaded_image = False del self.image self.image = None - self.exist = None + self.to_reload = True def __load_preset_config(self): self.config = prj.Project().raycasting_preset -- libgit2 0.21.2