diff Framework/Toolbox/OrthancSlicesLoader.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 5d359b115b29
children
line wrap: on
line diff
--- a/Framework/Toolbox/OrthancSlicesLoader.h	Mon Nov 19 12:45:37 2018 +0100
+++ b/Framework/Toolbox/OrthancSlicesLoader.h	Tue Nov 20 16:35:29 2018 +0100
@@ -28,6 +28,7 @@
 #include "SlicesSorter.h"
 
 #include <Core/Images/Image.h>
+#include <Plugins/Samples/Common/FullOrthancDataset.h>
 
 
 namespace OrthancStone
@@ -39,8 +40,26 @@
     typedef OriginMessage<MessageType_SliceLoader_GeometryReady, OrthancSlicesLoader> SliceGeometryReadyMessage;
     typedef OriginMessage<MessageType_SliceLoader_GeometryError, OrthancSlicesLoader> SliceGeometryErrorMessage;
 
+    class SliceTagsReadyMessage : public OriginMessage<MessageType_SliceLoader_TagsReady, OrthancSlicesLoader>
+    {
+    private:
+      const OrthancPlugins::FullOrthancDataset& dicomTags_;
+    public:
+      SliceTagsReadyMessage(OrthancSlicesLoader& origin,
+                                const OrthancPlugins::FullOrthancDataset& dicomTags) :
+        OriginMessage(origin),
+        dicomTags_(dicomTags)
+      {
+      }
+
+      const OrthancPlugins::FullOrthancDataset& GetDicomTags() const
+      {
+        return dicomTags_;
+      }
+    };
+
     class SliceImageReadyMessage :
-      public OriginMessage<MessageType_SliceLoader_ImageReady, OrthancSlicesLoader>
+        public OriginMessage<MessageType_SliceLoader_ImageReady, OrthancSlicesLoader>
     {
     private:
       unsigned int                   sliceIndex_;
@@ -80,12 +99,12 @@
       SliceImageQuality GetEffectiveQuality() const
       {
         return effectiveQuality_;
-      }        
+      }
     };
     
 
-    class SliceImageErrorMessage : 
-      public OriginMessage<MessageType_SliceLoader_ImageError, OrthancSlicesLoader>
+    class SliceImageErrorMessage :
+        public OriginMessage<MessageType_SliceLoader_ImageError, OrthancSlicesLoader>
     {
     private:
       const Slice&       slice_;
@@ -116,7 +135,7 @@
       SliceImageQuality GetEffectiveQuality() const
       {
         return effectiveQuality_;
-      }        
+      }
     };
     
   private:
@@ -177,7 +196,7 @@
                                 size_t index,
                                 SliceImageQuality quality);
 
-    void SortAndFinalizeSlices();
+    void SortAndFinalizeSlices(const OrthancPlugins::FullOrthancDataset& dicomTags);
     
   public:
     OrthancSlicesLoader(MessageBroker& broker,