comparison Framework/Loaders/LoaderCache.cpp @ 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 f75f6cb69c1b
children 92e32e263ae9
comparison
equal deleted inserted replaced
936:775ebd43bd3b 937:86ac61a040c9
117 LOG(ERROR) << "Unknown exception in LoaderCache"; 117 LOG(ERROR) << "Unknown exception in LoaderCache";
118 throw; 118 throw;
119 } 119 }
120 } 120 }
121 121
122 boost::shared_ptr<OrthancMultiframeVolumeLoader> LoaderCache::GetMultiframeVolumeLoader(std::string instanceUuid)
123 {
124 // if the loader is not available, let's trigger its creation
125 if(multiframeVolumeLoaders_.find(instanceUuid) == multiframeVolumeLoaders_.end())
126 {
127 GetMultiframeDicomVolumeImageMPRSlicer(instanceUuid);
128 }
129 ORTHANC_ASSERT(multiframeVolumeLoaders_.find(instanceUuid) != multiframeVolumeLoaders_.end());
130
131 return multiframeVolumeLoaders_[instanceUuid];
132 }
133
122 boost::shared_ptr<DicomVolumeImageMPRSlicer> LoaderCache::GetMultiframeDicomVolumeImageMPRSlicer(std::string instanceUuid) 134 boost::shared_ptr<DicomVolumeImageMPRSlicer> LoaderCache::GetMultiframeDicomVolumeImageMPRSlicer(std::string instanceUuid)
123 { 135 {
124 try 136 try
125 { 137 {
126 // normalize keys a little 138 // normalize keys a little