diff Framework/Radiography/RadiographyScene.h @ 417:aee3d7941c9b

preparing to load images using DICOMweb
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 15 Nov 2018 17:28:15 +0100
parents 6decc0ba9da5
children f87f28624b96 087237703d63 b70e9be013e4
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyScene.h	Tue Nov 13 10:36:53 2018 +0100
+++ b/Framework/Radiography/RadiographyScene.h	Thu Nov 15 17:28:15 2018 +0100
@@ -74,12 +74,11 @@
 
     typedef std::map<size_t, RadiographyLayer*>  Layers;
         
-    OrthancApiClient&  orthanc_;
-    size_t             countLayers_;
-    bool               hasWindowing_;
-    float              windowingCenter_;
-    float              windowingWidth_;
-    Layers             layers_;
+    size_t  countLayers_;
+    bool    hasWindowing_;
+    float   windowingCenter_;
+    float   windowingWidth_;
+    Layers  layers_;
 
     RadiographyLayer& RegisterLayer(RadiographyLayer* layer);
 
@@ -89,9 +88,10 @@
     
     void OnDicomExported(const OrthancApiClient::JsonResponseReadyMessage& message);
 
+    void OnDicomWebReceived(const IWebService::HttpRequestSuccessMessage& message);
+
   public:
-    RadiographyScene(MessageBroker& broker,
-                     OrthancApiClient& orthanc);
+    RadiographyScene(MessageBroker& broker);
     
     virtual ~RadiographyScene();
 
@@ -110,10 +110,13 @@
     RadiographyLayer& LoadTestBlock(unsigned int width,
                                     unsigned int height);
     
-    RadiographyLayer& LoadDicomFrame(const std::string& instance,
+    RadiographyLayer& LoadDicomFrame(OrthancApiClient& orthanc,
+                                     const std::string& instance,
                                      unsigned int frame,
                                      bool httpCompression);
 
+    RadiographyLayer& LoadDicomWebFrame(IWebService& web);
+
     Extent2D GetSceneExtent() const;
 
     void Render(Orthanc::ImageAccessor& buffer,
@@ -133,7 +136,8 @@
 
     // Export using PAM is faster than using PNG, but requires Orthanc
     // core >= 1.4.3
-    void ExportDicom(const Orthanc::DicomMap& dicom,
+    void ExportDicom(OrthancApiClient& orthanc,
+                     const Orthanc::DicomMap& dicom,
                      double pixelSpacingX,
                      double pixelSpacingY,
                      bool invert,