Mercurial > hg > orthanc-stone
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 |