Mercurial > hg > orthanc-stone
diff Framework/Widgets/LayerWidget.cpp @ 77:f5f54ed8d307 wasm
refactoring
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 24 May 2017 21:13:29 +0200 |
parents | 30c768873d47 |
children | 93b917b02fee |
line wrap: on
line diff
--- a/Framework/Widgets/LayerWidget.cpp Wed May 24 12:42:08 2017 +0200 +++ b/Framework/Widgets/LayerWidget.cpp Wed May 24 21:13:29 2017 +0200 @@ -105,7 +105,7 @@ for (size_t i = 0; i < renderers_.size(); i++) { if (renderers_[i] != NULL && - !renderers_[i]->RenderLayer(context, view)) + !renderers_[i]->RenderLayer(context, view, slice_)) { return false; } @@ -257,7 +257,7 @@ void LayerWidget::UpdateLayer(size_t index, ILayerRenderer* renderer, - const SliceGeometry& slice) + const Slice& slice) { LOG(INFO) << "Updating layer " << index; @@ -277,13 +277,13 @@ renderer->SetLayerStyle(styles_[index]); if (currentScene_.get() != NULL && - currentScene_->IsSamePlane(slice, sliceThickness_)) + currentScene_->IsSamePlane(slice.GetGeometry(), sliceThickness_)) { currentScene_->SetLayer(index, tmp.release()); NotifyChange(); } else if (pendingScene_.get() != NULL && - pendingScene_->IsSamePlane(slice, sliceThickness_)) + pendingScene_->IsSamePlane(slice.GetGeometry(), sliceThickness_)) { pendingScene_->SetLayer(index, tmp.release()); @@ -397,6 +397,12 @@ } + void LayerWidget::NotifyGeometryError(ILayerSource& source) + { + LOG(ERROR) << "Cannot get geometry"; + } + + void LayerWidget::NotifySourceChange(ILayerSource& source) { source.ScheduleLayerCreation(slice_); @@ -404,9 +410,9 @@ void LayerWidget::NotifySliceChange(ILayerSource& source, - const SliceGeometry& slice) + const Slice& slice) { - if (slice_.IsSamePlane(slice, sliceThickness_)) + if (slice.ContainsPlane(slice_)) { source.ScheduleLayerCreation(slice_); } @@ -415,18 +421,15 @@ void LayerWidget::NotifyLayerReady(ILayerRenderer* renderer, ILayerSource& source, - const SliceGeometry& viewportSlice) + const Slice& slice) { std::auto_ptr<ILayerRenderer> tmp(renderer); - size_t i; - if (LookupLayer(i, source)) - LOG(INFO) << "Renderer ready for layer " << i; - size_t index; if (LookupLayer(index, source)) { - UpdateLayer(index, tmp.release(), viewportSlice); + LOG(INFO) << "Renderer ready for layer " << index; + UpdateLayer(index, tmp.release(), slice); } }