diff Framework/Loaders/OrthancSeriesVolumeProgressiveLoader.h @ 937:86ac61a040c9

Added getters and notifications to allow clients of the loaders (DicomStructureSetLoader, OrthancSeriesVolumeProgressiveLoader and OrthancMultiframeVolumeLoader) to know when the loading is finished + added ability for SDL event loop to execute a callback repeatedly (used to check the view loading state)
author Benjamin Golinvaux <bgo@osimis.io>
date Wed, 31 Jul 2019 10:24:09 +0200
parents 401808e7ff2e
children 32eaf4929b08
line wrap: on
line diff
--- a/Framework/Loaders/OrthancSeriesVolumeProgressiveLoader.h	Mon Jul 29 15:39:45 2019 +0200
+++ b/Framework/Loaders/OrthancSeriesVolumeProgressiveLoader.h	Wed Jul 31 10:24:09 2019 +0200
@@ -104,17 +104,21 @@
 
     void LoadJpegSliceContent(const GetOrthancWebViewerJpegCommand::SuccessMessage& message);
 
-    IOracle&                                       oracle_;
-    bool                                           active_;
-    unsigned int                                   simultaneousDownloads_;
-    SeriesGeometry                                 seriesGeometry_;
-    boost::shared_ptr<DicomVolumeImage>            volume_;
-    std::auto_ptr<IFetchingItemsSorter::IFactory>  sorter_;
-    std::auto_ptr<IFetchingStrategy>               strategy_;
-    std::vector<unsigned int>                      slicesQuality_;
+    IOracle&                                      oracle_;
+    bool                                          active_;
+    unsigned int                                  simultaneousDownloads_;
+    SeriesGeometry                                seriesGeometry_;
+    boost::shared_ptr<DicomVolumeImage>           volume_;
+    std::auto_ptr<IFetchingItemsSorter::IFactory> sorter_;
+    std::auto_ptr<IFetchingStrategy>              strategy_;
+    std::vector<unsigned int>                     slicesQuality_;
+    bool                                          volumeImageReadyInHighQuality_;
 
 
   public:
+    ORTHANC_STONE_DEFINE_ORIGIN_MESSAGE(__FILE__, __LINE__, VolumeImageReadyInHighQuality, OrthancSeriesVolumeProgressiveLoader);
+
+
     OrthancSeriesVolumeProgressiveLoader(const boost::shared_ptr<DicomVolumeImage>& volume,
                                          IOracle& oracle,
                                          IObservable& oracleObservable);
@@ -123,6 +127,11 @@
 
     void SetSimultaneousDownloads(unsigned int count);
 
+    bool IsVolumeImageReadyInHighQuality() const
+    {
+      return volumeImageReadyInHighQuality_;
+    }
+
     void LoadSeries(const std::string& seriesId);
 
     /**