diff Framework/Layers/IVolumeSlicer.h @ 421:f87f28624b96 cache-in-radiography

tentative to make SmartLoader and RadiographyScene work together (not really working)
author am@osimis.io
date Tue, 20 Nov 2018 16:35:29 +0100
parents 885e1ebd315c
children
line wrap: on
line diff
--- a/Framework/Layers/IVolumeSlicer.h	Mon Nov 19 12:45:37 2018 +0100
+++ b/Framework/Layers/IVolumeSlicer.h	Tue Nov 20 16:35:29 2018 +0100
@@ -26,10 +26,12 @@
 #include "../../Framework/Messages/IObservable.h"
 #include "../../Framework/Messages/IMessage.h"
 #include "Core/Images/Image.h"
+#include <Plugins/Samples/Common/FullOrthancDataset.h>
 #include <boost/shared_ptr.hpp>
 
 namespace OrthancStone
 {
+
   class IVolumeSlicer : public IObservable
   {
   public:
@@ -37,6 +39,41 @@
     typedef OriginMessage<MessageType_VolumeSlicer_GeometryError, IVolumeSlicer>  GeometryErrorMessage;
     typedef OriginMessage<MessageType_VolumeSlicer_ContentChanged, IVolumeSlicer> ContentChangedMessage;
 
+    class TagsReadyMessage : public OriginMessage<MessageType_VolumeSlicer_TagsReady, IVolumeSlicer>
+    {
+    private:
+      const OrthancPlugins::FullOrthancDataset& dicomTags_;
+    public:
+      TagsReadyMessage(IVolumeSlicer& origin,
+                       const OrthancPlugins::FullOrthancDataset& dicomTags) :
+        OriginMessage(origin),
+        dicomTags_(dicomTags)
+      {
+      }
+
+      const OrthancPlugins::FullOrthancDataset& GetDicomTags() const
+      {
+        return dicomTags_;
+      }
+    };
+
+    class FrameReadyMessage : public OriginMessage<MessageType_VolumeSlicer_FrameReady, IVolumeSlicer>
+    {
+    private:
+      boost::shared_ptr<Orthanc::ImageAccessor> image_;
+    public:
+      FrameReadyMessage(IVolumeSlicer& origin, boost::shared_ptr<Orthanc::ImageAccessor> image) :
+        OriginMessage(origin),
+        image_(image)
+      {
+      }
+
+      boost::shared_ptr<Orthanc::ImageAccessor> GetImage() const
+      {
+        return image_;
+      }
+    };
+
     class SliceContentChangedMessage : public OriginMessage<MessageType_VolumeSlicer_SliceChanged, IVolumeSlicer>
     {
     private:
@@ -44,7 +81,7 @@
 
     public:
       SliceContentChangedMessage(IVolumeSlicer& origin,
-                          const Slice& slice) :
+                                 const Slice& slice) :
         OriginMessage(origin),
         slice_(slice)
       {
@@ -69,7 +106,7 @@
 
         virtual ILayerRenderer* CreateRenderer() const = 0;
       };
-    
+
     private:
       const IRendererFactory&    factory_;
       const CoordinateSystem3D&  slice_;