Mercurial > hg > orthanc-stone
comparison Framework/Radiography/RadiographyScene.h @ 1204:b519c1c878f1 broker
integration mainline->broker
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 29 Nov 2019 21:24:29 +0100 |
parents | 54cbffabdc45 9added0d371e |
children | 37bc7f115f81 |
comparison
equal
deleted
inserted
replaced
1203:f3bb9a6dd949 | 1204:b519c1c878f1 |
---|---|
178 void OnDicomExported(const Deprecated::OrthancApiClient::JsonResponseReadyMessage& message); | 178 void OnDicomExported(const Deprecated::OrthancApiClient::JsonResponseReadyMessage& message); |
179 | 179 |
180 void OnDicomWebReceived(const Deprecated::IWebService::HttpRequestSuccessMessage& message); | 180 void OnDicomWebReceived(const Deprecated::IWebService::HttpRequestSuccessMessage& message); |
181 | 181 |
182 virtual void OnLayerEdited(const RadiographyLayer::LayerEditedMessage& message); | 182 virtual void OnLayerEdited(const RadiographyLayer::LayerEditedMessage& message); |
183 | |
183 public: | 184 public: |
184 RadiographyScene(); | 185 RadiographyScene(); |
185 | 186 |
186 virtual ~RadiographyScene(); | 187 virtual ~RadiographyScene(); |
187 | 188 |
200 | 201 |
201 RadiographyLayer& LoadText(const std::string& utf8, | 202 RadiographyLayer& LoadText(const std::string& utf8, |
202 unsigned int fontSize, | 203 unsigned int fontSize, |
203 uint8_t foreground, | 204 uint8_t foreground, |
204 RadiographyLayer::Geometry* geometry); | 205 RadiographyLayer::Geometry* geometry); |
205 | 206 |
207 RadiographyLayer& UpdateText(size_t layerIndex, | |
208 const std::string& utf8, | |
209 unsigned int fontSize, | |
210 uint8_t foreground); | |
211 | |
206 RadiographyLayer& LoadTestBlock(unsigned int width, | 212 RadiographyLayer& LoadTestBlock(unsigned int width, |
207 unsigned int height, | 213 unsigned int height, |
208 RadiographyLayer::Geometry* geometry); | 214 RadiographyLayer::Geometry* geometry); |
209 | 215 |
210 RadiographyLayer& LoadMask(const std::vector<Orthanc::ImageProcessing::ImagePoint>& corners, | 216 RadiographyLayer& LoadMask(const std::vector<Orthanc::ImageProcessing::ImagePoint>& corners, |
230 | 236 |
231 RadiographyLayer& LoadDicomWebFrame(Deprecated::IWebService& web); | 237 RadiographyLayer& LoadDicomWebFrame(Deprecated::IWebService& web); |
232 | 238 |
233 void RemoveLayer(size_t layerIndex); | 239 void RemoveLayer(size_t layerIndex); |
234 | 240 |
241 RadiographyLayer& GetLayer(size_t layerIndex); | |
242 | |
235 const RadiographyLayer& GetLayer(size_t layerIndex) const; | 243 const RadiographyLayer& GetLayer(size_t layerIndex) const; |
236 | 244 |
237 template <typename TypeLayer> | 245 template <typename TypeLayer> |
238 TypeLayer* GetLayer(size_t index = 0) | 246 TypeLayer* GetTypedLayer(size_t indexOfType = 0) |
239 { | 247 { |
240 std::vector<size_t> layerIndexes; | 248 std::vector<size_t> layerIndexes; |
241 GetLayersIndexes(layerIndexes); | 249 GetLayersIndexes(layerIndexes); |
242 | 250 |
243 size_t count = 0; | 251 size_t count = 0; |
245 for (size_t i = 0; i < layerIndexes.size(); ++i) | 253 for (size_t i = 0; i < layerIndexes.size(); ++i) |
246 { | 254 { |
247 TypeLayer* typedLayer = dynamic_cast<TypeLayer*>(layers_[layerIndexes[i]]); | 255 TypeLayer* typedLayer = dynamic_cast<TypeLayer*>(layers_[layerIndexes[i]]); |
248 if (typedLayer != NULL) | 256 if (typedLayer != NULL) |
249 { | 257 { |
250 if (count == index) | 258 if (count == indexOfType) |
251 { | |
252 return typedLayer; | |
253 } | |
254 count++; | |
255 } | |
256 } | |
257 | |
258 return NULL; | |
259 } | |
260 | |
261 template <typename TypeLayer> | |
262 const TypeLayer* GetLayer(size_t index = 0) const | |
263 { | |
264 std::vector<size_t> layerIndexes; | |
265 GetLayersIndexes(layerIndexes); | |
266 | |
267 size_t count = 0; | |
268 | |
269 for (size_t i = 0; i < layerIndexes.size(); ++i) | |
270 { | |
271 const TypeLayer* typedLayer = dynamic_cast<const TypeLayer*>(layers_.at(layerIndexes[i])); | |
272 if (typedLayer != NULL) | |
273 { | |
274 if (count == index) | |
275 { | 259 { |
276 return typedLayer; | 260 return typedLayer; |
277 } | 261 } |
278 count++; | 262 count++; |
279 } | 263 } |
350 Orthanc::Image* ExportToImage(double pixelSpacingX, | 334 Orthanc::Image* ExportToImage(double pixelSpacingX, |
351 double pixelSpacingY, | 335 double pixelSpacingY, |
352 ImageInterpolation interpolation, | 336 ImageInterpolation interpolation, |
353 bool invert, | 337 bool invert, |
354 int64_t maxValue /* for inversion */, | 338 int64_t maxValue /* for inversion */, |
355 bool applyWindowing); // i.e.: when | 339 bool applyWindowing); |
340 | |
356 }; | 341 }; |
357 } | 342 } |