Mercurial > hg > orthanc-stone
diff Framework/Layers/IVolumeSlicer.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 | 885e1ebd315c |
children |
line wrap: on
line diff
--- a/Framework/Layers/IVolumeSlicer.h Mon Nov 19 12:45:37 2018 +0100 +++ b/Framework/Layers/IVolumeSlicer.h Tue Nov 20 16:35:29 2018 +0100 @@ -26,10 +26,12 @@ #include "../../Framework/Messages/IObservable.h" #include "../../Framework/Messages/IMessage.h" #include "Core/Images/Image.h" +#include <Plugins/Samples/Common/FullOrthancDataset.h> #include <boost/shared_ptr.hpp> namespace OrthancStone { + class IVolumeSlicer : public IObservable { public: @@ -37,6 +39,41 @@ typedef OriginMessage<MessageType_VolumeSlicer_GeometryError, IVolumeSlicer> GeometryErrorMessage; typedef OriginMessage<MessageType_VolumeSlicer_ContentChanged, IVolumeSlicer> ContentChangedMessage; + class TagsReadyMessage : public OriginMessage<MessageType_VolumeSlicer_TagsReady, IVolumeSlicer> + { + private: + const OrthancPlugins::FullOrthancDataset& dicomTags_; + public: + TagsReadyMessage(IVolumeSlicer& origin, + const OrthancPlugins::FullOrthancDataset& dicomTags) : + OriginMessage(origin), + dicomTags_(dicomTags) + { + } + + const OrthancPlugins::FullOrthancDataset& GetDicomTags() const + { + return dicomTags_; + } + }; + + class FrameReadyMessage : public OriginMessage<MessageType_VolumeSlicer_FrameReady, IVolumeSlicer> + { + private: + boost::shared_ptr<Orthanc::ImageAccessor> image_; + public: + FrameReadyMessage(IVolumeSlicer& origin, boost::shared_ptr<Orthanc::ImageAccessor> image) : + OriginMessage(origin), + image_(image) + { + } + + boost::shared_ptr<Orthanc::ImageAccessor> GetImage() const + { + return image_; + } + }; + class SliceContentChangedMessage : public OriginMessage<MessageType_VolumeSlicer_SliceChanged, IVolumeSlicer> { private: @@ -44,7 +81,7 @@ public: SliceContentChangedMessage(IVolumeSlicer& origin, - const Slice& slice) : + const Slice& slice) : OriginMessage(origin), slice_(slice) { @@ -69,7 +106,7 @@ virtual ILayerRenderer* CreateRenderer() const = 0; }; - + private: const IRendererFactory& factory_; const CoordinateSystem3D& slice_;