diff Framework/Loaders/LoaderCache.h @ 1438:96044a18b98d

DicomStructureSetLoader instances are now indexed by their instanceid AND a uniquekey that is passed (*not* depending on the initially visible structures anymore)
author Benjamin Golinvaux <bgo@osimis.io>
date Tue, 19 May 2020 15:29:47 +0200
parents 998697c5ec74
children
line wrap: on
line diff
--- a/Framework/Loaders/LoaderCache.h	Tue May 19 15:28:55 2020 +0200
+++ b/Framework/Loaders/LoaderCache.h	Tue May 19 15:29:47 2020 +0200
@@ -60,10 +60,24 @@
     boost::shared_ptr<OrthancMultiframeVolumeLoader>
       GetMultiframeVolumeLoader(std::string instanceUuid);
 
+    /**
+    The DicomStructureSetLoader instances are stored in a map and indexed
+    by a key built from instanceUuid and uniqueKey.
+
+    If instanceUuid and uniqueKey correspond to an already existing loader, it is returned.
+
+    Please note that initiallyVisibleStructures is only used if the call results in the creation
+    of a new loader. In that case, the value is passed to the constructor.
+    */
     boost::shared_ptr<DicomStructureSetLoader>
       GetDicomStructureSetLoader(
         std::string instanceUuid,
-        const std::vector<std::string>& initiallyVisibleStructures);
+        const std::vector<std::string>& initiallyVisibleStructures,
+        const std::string& uniqueKey = "");
+
+    std::string BuildDicomStructureSetLoaderKey(
+        const std::string& instanceUuid,
+        const std::string& uniqueKey = "");
 
     void ClearCache();