comparison Framework/SmartLoader.cpp @ 378:814fa32e2fcc

refactoring
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 06 Nov 2018 14:21:02 +0100
parents 8eb4fe74000f
children ba5ad93f935a
comparison
equal deleted inserted replaced
377:8eb4fe74000f 378:814fa32e2fcc
72 // once the LayerSource is ready 72 // once the LayerSource is ready
73 if (status_ == CachedSliceStatus_ImageLoaded) 73 if (status_ == CachedSliceStatus_ImageLoaded)
74 { 74 {
75 LOG(WARNING) << "ScheduleLayerCreation for CachedSlice (image is loaded): " << slice_->GetOrthancInstanceId(); 75 LOG(WARNING) << "ScheduleLayerCreation for CachedSlice (image is loaded): " << slice_->GetOrthancInstanceId();
76 bool isFull = (effectiveQuality_ == SliceImageQuality_FullPng || effectiveQuality_ == SliceImageQuality_FullPam); 76 bool isFull = (effectiveQuality_ == SliceImageQuality_FullPng || effectiveQuality_ == SliceImageQuality_FullPam);
77 std::auto_ptr<Orthanc::ImageAccessor> accessor(new Orthanc::ImageAccessor()); 77 LayerSourceBase::NotifyLayerReady(FrameRenderer::CreateRenderer(*image_, *slice_, isFull),
78 image_->GetReadOnlyAccessor(*accessor);
79 LayerSourceBase::NotifyLayerReady(FrameRenderer::CreateRenderer(accessor.release(), *slice_, isFull),
80 slice_->GetGeometry(), false); 78 slice_->GetGeometry(), false);
81 } 79 }
82 else 80 else
83 { 81 {
84 LOG(WARNING) << "ScheduleLayerCreation for CachedSlice (image is not loaded yet): " << slice_->GetOrthancInstanceId(); 82 LOG(WARNING) << "ScheduleLayerCreation for CachedSlice (image is not loaded yet): " << slice_->GetOrthancInstanceId();
237 boost::lexical_cast<std::string>(slice.GetFrame())); 235 boost::lexical_cast<std::string>(slice.GetFrame()));
238 236
239 LOG(WARNING) << "Image ready: " << sliceKeyId; 237 LOG(WARNING) << "Image ready: " << sliceKeyId;
240 238
241 boost::shared_ptr<CachedSlice> cachedSlice(new CachedSlice(IObserver::broker_)); 239 boost::shared_ptr<CachedSlice> cachedSlice(new CachedSlice(IObserver::broker_));
242 cachedSlice->image_ = message.image_; 240 cachedSlice->image_.reset(Orthanc::Image::Clone(message.GetImage()));
243 cachedSlice->effectiveQuality_ = message.imageQuality_; 241 cachedSlice->effectiveQuality_ = message.GetImageQuality();
244 cachedSlice->slice_.reset(message.slice_.Clone()); 242 cachedSlice->slice_.reset(message.GetSlice().Clone());
245 cachedSlice->status_ = CachedSliceStatus_ImageLoaded; 243 cachedSlice->status_ = CachedSliceStatus_ImageLoaded;
246 244
247 cachedSlices_[sliceKeyId] = cachedSlice; 245 cachedSlices_[sliceKeyId] = cachedSlice;
248 246
249 // re-emit original Layer message to observers 247 // re-emit original Layer message to observers