Mercurial > hg > orthanc-stone
comparison 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 |
comparison
equal
deleted
inserted
replaced
420:8bf717c4e497 | 421:f87f28624b96 |
---|---|
24 #include "ILayerRenderer.h" | 24 #include "ILayerRenderer.h" |
25 #include "../Toolbox/Slice.h" | 25 #include "../Toolbox/Slice.h" |
26 #include "../../Framework/Messages/IObservable.h" | 26 #include "../../Framework/Messages/IObservable.h" |
27 #include "../../Framework/Messages/IMessage.h" | 27 #include "../../Framework/Messages/IMessage.h" |
28 #include "Core/Images/Image.h" | 28 #include "Core/Images/Image.h" |
29 #include <Plugins/Samples/Common/FullOrthancDataset.h> | |
29 #include <boost/shared_ptr.hpp> | 30 #include <boost/shared_ptr.hpp> |
30 | 31 |
31 namespace OrthancStone | 32 namespace OrthancStone |
32 { | 33 { |
34 | |
33 class IVolumeSlicer : public IObservable | 35 class IVolumeSlicer : public IObservable |
34 { | 36 { |
35 public: | 37 public: |
36 typedef OriginMessage<MessageType_VolumeSlicer_GeometryReady, IVolumeSlicer> GeometryReadyMessage; | 38 typedef OriginMessage<MessageType_VolumeSlicer_GeometryReady, IVolumeSlicer> GeometryReadyMessage; |
37 typedef OriginMessage<MessageType_VolumeSlicer_GeometryError, IVolumeSlicer> GeometryErrorMessage; | 39 typedef OriginMessage<MessageType_VolumeSlicer_GeometryError, IVolumeSlicer> GeometryErrorMessage; |
38 typedef OriginMessage<MessageType_VolumeSlicer_ContentChanged, IVolumeSlicer> ContentChangedMessage; | 40 typedef OriginMessage<MessageType_VolumeSlicer_ContentChanged, IVolumeSlicer> ContentChangedMessage; |
41 | |
42 class TagsReadyMessage : public OriginMessage<MessageType_VolumeSlicer_TagsReady, IVolumeSlicer> | |
43 { | |
44 private: | |
45 const OrthancPlugins::FullOrthancDataset& dicomTags_; | |
46 public: | |
47 TagsReadyMessage(IVolumeSlicer& origin, | |
48 const OrthancPlugins::FullOrthancDataset& dicomTags) : | |
49 OriginMessage(origin), | |
50 dicomTags_(dicomTags) | |
51 { | |
52 } | |
53 | |
54 const OrthancPlugins::FullOrthancDataset& GetDicomTags() const | |
55 { | |
56 return dicomTags_; | |
57 } | |
58 }; | |
59 | |
60 class FrameReadyMessage : public OriginMessage<MessageType_VolumeSlicer_FrameReady, IVolumeSlicer> | |
61 { | |
62 private: | |
63 boost::shared_ptr<Orthanc::ImageAccessor> image_; | |
64 public: | |
65 FrameReadyMessage(IVolumeSlicer& origin, boost::shared_ptr<Orthanc::ImageAccessor> image) : | |
66 OriginMessage(origin), | |
67 image_(image) | |
68 { | |
69 } | |
70 | |
71 boost::shared_ptr<Orthanc::ImageAccessor> GetImage() const | |
72 { | |
73 return image_; | |
74 } | |
75 }; | |
39 | 76 |
40 class SliceContentChangedMessage : public OriginMessage<MessageType_VolumeSlicer_SliceChanged, IVolumeSlicer> | 77 class SliceContentChangedMessage : public OriginMessage<MessageType_VolumeSlicer_SliceChanged, IVolumeSlicer> |
41 { | 78 { |
42 private: | 79 private: |
43 const Slice& slice_; | 80 const Slice& slice_; |
44 | 81 |
45 public: | 82 public: |
46 SliceContentChangedMessage(IVolumeSlicer& origin, | 83 SliceContentChangedMessage(IVolumeSlicer& origin, |
47 const Slice& slice) : | 84 const Slice& slice) : |
48 OriginMessage(origin), | 85 OriginMessage(origin), |
49 slice_(slice) | 86 slice_(slice) |
50 { | 87 { |
51 } | 88 } |
52 | 89 |
67 { | 104 { |
68 } | 105 } |
69 | 106 |
70 virtual ILayerRenderer* CreateRenderer() const = 0; | 107 virtual ILayerRenderer* CreateRenderer() const = 0; |
71 }; | 108 }; |
72 | 109 |
73 private: | 110 private: |
74 const IRendererFactory& factory_; | 111 const IRendererFactory& factory_; |
75 const CoordinateSystem3D& slice_; | 112 const CoordinateSystem3D& slice_; |
76 | 113 |
77 public: | 114 public: |