Mercurial > hg > orthanc-stone
diff Framework/Radiography/RadiographyScene.h @ 421:f87f28624b96 cache-in-radiography
tentative to make SmartLoader and RadiographyScene work together (not really working)
author | am@osimis.io |
---|---|
date | Tue, 20 Nov 2018 16:35:29 +0100 |
parents | aee3d7941c9b |
children |
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyScene.h Mon Nov 19 12:45:37 2018 +0100 +++ b/Framework/Radiography/RadiographyScene.h Tue Nov 20 16:35:29 2018 +0100 @@ -22,11 +22,14 @@ #pragma once #include "RadiographyLayer.h" +#include <Framework/Layers/IVolumeSlicer.h> #include "../Toolbox/OrthancApiClient.h" namespace OrthancStone { + class IVolumeSlicer; + class RadiographyScene : public IObserver, public IObservable @@ -80,6 +83,8 @@ float windowingWidth_; Layers layers_; + std::map<const IVolumeSlicer*, size_t> layersIndexBySlice_; + RadiographyLayer& RegisterLayer(RadiographyLayer* layer); void OnTagsReceived(const OrthancApiClient::BinaryResponseReadyMessage& message); @@ -90,6 +95,10 @@ void OnDicomWebReceived(const IWebService::HttpRequestSuccessMessage& message); + void OnTagsReady(const IVolumeSlicer::TagsReadyMessage& message); + + void OnImageReady(const IVolumeSlicer::FrameReadyMessage& message); + public: RadiographyScene(MessageBroker& broker); @@ -117,6 +126,8 @@ RadiographyLayer& LoadDicomWebFrame(IWebService& web); + RadiographyLayer& SetFrame(IVolumeSlicer* slice); + Extent2D GetSceneExtent() const; void Render(Orthanc::ImageAccessor& buffer,