Mercurial > hg > orthanc-stone
comparison Framework/Widgets/LayerWidget.cpp @ 99:efd9ef2b67f1 wasm
fix
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 30 May 2017 21:08:31 +0200 |
parents | d18dcc963930 |
children | 474d85e76499 |
comparison
equal
deleted
inserted
replaced
98:a33abae66344 | 99:efd9ef2b67f1 |
---|---|
20 | 20 |
21 | 21 |
22 #include "LayerWidget.h" | 22 #include "LayerWidget.h" |
23 | 23 |
24 #include "../../Resources/Orthanc/Core/Logging.h" | 24 #include "../../Resources/Orthanc/Core/Logging.h" |
25 #include "../Layers/MissingLayerRenderer.h" | 25 #include "../Layers/SliceOutlineRenderer.h" |
26 | 26 |
27 static const double THIN_SLICE_THICKNESS = 100.0 * std::numeric_limits<double>::epsilon(); | 27 static const double THIN_SLICE_THICKNESS = 100.0 * std::numeric_limits<double>::epsilon(); |
28 | 28 |
29 namespace OrthancStone | 29 namespace OrthancStone |
30 { | 30 { |
239 { | 239 { |
240 Extent sceneExtent; | 240 Extent sceneExtent; |
241 | 241 |
242 for (size_t i = 0; i < layers_.size(); i++) | 242 for (size_t i = 0; i < layers_.size(); i++) |
243 { | 243 { |
244 double ax, ay, bx, by; | |
245 | |
246 assert(layers_[i] != NULL); | 244 assert(layers_[i] != NULL); |
247 Extent layerExtent; | 245 Extent layerExtent; |
248 GetLayerExtent(layerExtent, *layers_[i]); | 246 GetLayerExtent(layerExtent, *layers_[i]); |
249 | 247 |
250 sceneExtent.Union(layerExtent); | 248 sceneExtent.Union(layerExtent); |
498 const ILayerSource& source, | 496 const ILayerSource& source, |
499 const Slice& slice, | 497 const Slice& slice, |
500 bool isError) | 498 bool isError) |
501 { | 499 { |
502 size_t index; | 500 size_t index; |
503 if (renderer.get() != NULL && | 501 if (slice.IsValid() && |
504 LookupLayer(index, source) && | 502 LookupLayer(index, source) && |
505 slice.ContainsPlane(slice_)) // Whether the slice comes from an older request | 503 slice.ContainsPlane(slice_)) // Whether the slice comes from an older request |
506 { | 504 { |
507 if (isError) | 505 if (isError) |
508 { | 506 { |
511 else | 509 else |
512 { | 510 { |
513 LOG(INFO) << "Renderer ready for layer " << index; | 511 LOG(INFO) << "Renderer ready for layer " << index; |
514 } | 512 } |
515 | 513 |
516 UpdateLayer(index, renderer.release(), slice); | 514 if (renderer.get() != NULL) |
515 { | |
516 UpdateLayer(index, renderer.release(), slice); | |
517 } | |
518 else if (isError) | |
519 { | |
520 UpdateLayer(index, new SliceOutlineRenderer(slice), slice); | |
521 } | |
517 } | 522 } |
518 } | 523 } |
519 } | 524 } |