Mercurial > hg > orthanc-stone
comparison Framework/SmartLoader.cpp @ 401:f1c769b3a5c2
start getting rid of VolumeSlicerBase
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sat, 10 Nov 2018 10:11:29 +0100 |
parents | ed7146fa2c98 |
children | 5d359b115b29 |
comparison
equal
deleted
inserted
replaced
400:518f680dbf2e | 401:f1c769b3a5c2 |
---|---|
35 CachedSliceStatus_ScheduledToLoad, | 35 CachedSliceStatus_ScheduledToLoad, |
36 CachedSliceStatus_GeometryLoaded, | 36 CachedSliceStatus_GeometryLoaded, |
37 CachedSliceStatus_ImageLoaded | 37 CachedSliceStatus_ImageLoaded |
38 }; | 38 }; |
39 | 39 |
40 class SmartLoader::CachedSlice : public VolumeSlicerBase | 40 class SmartLoader::CachedSlice : public IVolumeSlicer |
41 { | 41 { |
42 public: | 42 public: |
43 class RendererFactory : public LayerReadyMessage::IRendererFactory | 43 class RendererFactory : public LayerReadyMessage::IRendererFactory |
44 { | 44 { |
45 private: | 45 private: |
66 SliceImageQuality effectiveQuality_; | 66 SliceImageQuality effectiveQuality_; |
67 CachedSliceStatus status_; | 67 CachedSliceStatus status_; |
68 | 68 |
69 public: | 69 public: |
70 CachedSlice(MessageBroker& broker) : | 70 CachedSlice(MessageBroker& broker) : |
71 VolumeSlicerBase(broker) | 71 IVolumeSlicer(broker) |
72 { | 72 { |
73 } | 73 } |
74 | 74 |
75 virtual ~CachedSlice() | 75 virtual ~CachedSlice() |
76 { | 76 { |
92 // once the VolumeSlicer is ready | 92 // once the VolumeSlicer is ready |
93 if (status_ == CachedSliceStatus_ImageLoaded) | 93 if (status_ == CachedSliceStatus_ImageLoaded) |
94 { | 94 { |
95 LOG(WARNING) << "ScheduleLayerCreation for CachedSlice (image is loaded): " << slice_->GetOrthancInstanceId(); | 95 LOG(WARNING) << "ScheduleLayerCreation for CachedSlice (image is loaded): " << slice_->GetOrthancInstanceId(); |
96 | 96 |
97 RendererFactory factory(*this); | 97 RendererFactory factory(*this); |
98 VolumeSlicerBase::NotifyLayerReady(factory, slice_->GetGeometry()); | 98 EmitMessage(IVolumeSlicer::LayerReadyMessage(*this, factory, slice_->GetGeometry())); |
99 } | 99 } |
100 else | 100 else |
101 { | 101 { |
102 LOG(WARNING) << "ScheduleLayerCreation for CachedSlice (image is not loaded yet): " << slice_->GetOrthancInstanceId(); | 102 LOG(WARNING) << "ScheduleLayerCreation for CachedSlice (image is not loaded yet): " << slice_->GetOrthancInstanceId(); |
103 } | 103 } |
172 throw StoneException(ErrorCode_CanOnlyAddOneLayerAtATime); | 172 throw StoneException(ErrorCode_CanOnlyAddOneLayerAtATime); |
173 } | 173 } |
174 | 174 |
175 if (cachedSlice != NULL) | 175 if (cachedSlice != NULL) |
176 { | 176 { |
177 cachedSlice->NotifyGeometryReady(); | 177 EmitMessage(IVolumeSlicer::GeometryReadyMessage(*cachedSlice)); |
178 } | 178 } |
179 | 179 |
180 } | 180 } |
181 | 181 |
182 void SmartLoader::PreloadSlice(const std::string instanceId, | 182 void SmartLoader::PreloadSlice(const std::string instanceId, |