diff Framework/Layers/DicomStructureSetSlicer.h @ 404:ba4ace20454e

use of MessageBroker in DicomStructureSetSlicer
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sun, 11 Nov 2018 13:02:38 +0100
parents 72355b637945
children b70e9be013e4
line wrap: on
line diff
--- a/Framework/Layers/DicomStructureSetSlicer.h	Sun Nov 11 12:13:31 2018 +0100
+++ b/Framework/Layers/DicomStructureSetSlicer.h	Sun Nov 11 13:02:38 2018 +0100
@@ -28,7 +28,7 @@
 {
   class DicomStructureSetSlicer :
     public IVolumeSlicer,
-    private IVolumeLoader::IObserver
+    public IObserver
   {
   private:
     class Renderer;
@@ -36,13 +36,14 @@
 
     StructureSetLoader& loader_;
 
+    void OnStructureSetLoaded(const IVolumeLoader::ContentChangedMessage& message)
+    {
+      EmitMessage(IVolumeSlicer::ContentChangedMessage(*this));
+    }
+
   public:
-    DicomStructureSetSlicer(MessageBroker& broker, StructureSetLoader& loader) :
-      IVolumeSlicer(broker),
-      loader_(loader)
-    {
-      loader_.Register(*this);
-    }
+    DicomStructureSetSlicer(MessageBroker& broker,
+                            StructureSetLoader& loader);
 
     virtual bool GetExtent(std::vector<Vector>& points,
                            const CoordinateSystem3D& viewportPlane)