comparison Framework/Loaders/OrthancMultiframeVolumeLoader.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 401808e7ff2e
children 32eaf4929b08
comparison
equal deleted inserted replaced
936:775ebd43bd3b 937:86ac61a040c9
314 throw Orthanc::OrthancException(Orthanc::ErrorCode_NotImplemented); 314 throw Orthanc::OrthancException(Orthanc::ErrorCode_NotImplemented);
315 } 315 }
316 316
317 volume_->IncrementRevision(); 317 volume_->IncrementRevision();
318 318
319 pixelDataLoaded_ = true;
319 BroadcastMessage(DicomVolumeImage::ContentUpdatedMessage(*volume_)); 320 BroadcastMessage(DicomVolumeImage::ContentUpdatedMessage(*volume_));
320 } 321 }
321 322
322 323
323 OrthancMultiframeVolumeLoader::OrthancMultiframeVolumeLoader(boost::shared_ptr<DicomVolumeImage> volume, 324 OrthancMultiframeVolumeLoader::OrthancMultiframeVolumeLoader(boost::shared_ptr<DicomVolumeImage> volume,
324 IOracle& oracle, 325 IOracle& oracle,
325 IObservable& oracleObservable) : 326 IObservable& oracleObservable) :
326 LoaderStateMachine(oracle, oracleObservable), 327 LoaderStateMachine(oracle, oracleObservable),
327 IObservable(oracleObservable.GetBroker()), 328 IObservable(oracleObservable.GetBroker()),
328 volume_(volume) 329 volume_(volume),
330 pixelDataLoaded_(false)
329 { 331 {
330 if (volume.get() == NULL) 332 if (volume.get() == NULL)
331 { 333 {
332 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); 334 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer);
333 } 335 }