comparison Framework/Widgets/SliceViewerWidget.h @ 396:ed7146fa2c98

rename ILayerSource as IVolumeSlicer, and OrthancFrameLayerSource as as DicomSeriesVolumeSlicer
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 10 Nov 2018 09:29:08 +0100
parents 17d54c028805
children 885e1ebd315c
comparison
equal deleted inserted replaced
395:5f13809f3f76 396:ed7146fa2c98
20 20
21 21
22 #pragma once 22 #pragma once
23 23
24 #include "WorldSceneWidget.h" 24 #include "WorldSceneWidget.h"
25 #include "../Layers/ILayerSource.h" 25 #include "../Layers/IVolumeSlicer.h"
26 #include "../Toolbox/Extent2D.h" 26 #include "../Toolbox/Extent2D.h"
27 #include "../../Framework/Messages/IObserver.h" 27 #include "../../Framework/Messages/IObserver.h"
28 28
29 #include <map> 29 #include <map>
30 30
40 typedef OriginMessage<MessageType_Widget_ContentChanged, SliceViewerWidget> ContentChangedMessage; 40 typedef OriginMessage<MessageType_Widget_ContentChanged, SliceViewerWidget> ContentChangedMessage;
41 41
42 private: 42 private:
43 class Scene; 43 class Scene;
44 44
45 typedef std::map<const ILayerSource*, size_t> LayersIndex; 45 typedef std::map<const IVolumeSlicer*, size_t> LayersIndex;
46 46
47 bool started_; 47 bool started_;
48 LayersIndex layersIndex_; 48 LayersIndex layersIndex_;
49 std::vector<ILayerSource*> layers_; 49 std::vector<IVolumeSlicer*> layers_;
50 std::vector<RenderStyle> styles_; 50 std::vector<RenderStyle> styles_;
51 CoordinateSystem3D plane_; 51 CoordinateSystem3D plane_;
52 std::auto_ptr<Scene> currentScene_; 52 std::auto_ptr<Scene> currentScene_;
53 std::auto_ptr<Scene> pendingScene_; 53 std::auto_ptr<Scene> pendingScene_;
54 std::vector<bool> changedLayers_; 54 std::vector<bool> changedLayers_;
55 55
56 bool LookupLayer(size_t& index /* out */, 56 bool LookupLayer(size_t& index /* out */,
57 const ILayerSource& layer) const; 57 const IVolumeSlicer& layer) const;
58 58
59 void GetLayerExtent(Extent2D& extent, 59 void GetLayerExtent(Extent2D& extent,
60 ILayerSource& source) const; 60 IVolumeSlicer& source) const;
61 61
62 void OnGeometryReady(const ILayerSource::GeometryReadyMessage& message); 62 void OnGeometryReady(const IVolumeSlicer::GeometryReadyMessage& message);
63 63
64 virtual void OnContentChanged(const ILayerSource::ContentChangedMessage& message); 64 virtual void OnContentChanged(const IVolumeSlicer::ContentChangedMessage& message);
65 65
66 virtual void OnSliceChanged(const ILayerSource::SliceChangedMessage& message); 66 virtual void OnSliceChanged(const IVolumeSlicer::SliceChangedMessage& message);
67 67
68 virtual void OnLayerReady(const ILayerSource::LayerReadyMessage& message); 68 virtual void OnLayerReady(const IVolumeSlicer::LayerReadyMessage& message);
69 69
70 virtual void OnLayerError(const ILayerSource::LayerErrorMessage& message); 70 virtual void OnLayerError(const IVolumeSlicer::LayerErrorMessage& message);
71 71
72 void ObserveLayer(ILayerSource& source); 72 void ObserveLayer(IVolumeSlicer& source);
73 73
74 void ResetChangedLayers(); 74 void ResetChangedLayers();
75 75
76 public: 76 public:
77 SliceViewerWidget(MessageBroker& broker, 77 SliceViewerWidget(MessageBroker& broker,
94 void InvalidateLayer(size_t layer); 94 void InvalidateLayer(size_t layer);
95 95
96 public: 96 public:
97 virtual ~SliceViewerWidget(); 97 virtual ~SliceViewerWidget();
98 98
99 size_t AddLayer(ILayerSource* layer); // Takes ownership 99 size_t AddLayer(IVolumeSlicer* layer); // Takes ownership
100 100
101 void ReplaceLayer(size_t layerIndex, ILayerSource* layer); // Takes ownership 101 void ReplaceLayer(size_t layerIndex, IVolumeSlicer* layer); // Takes ownership
102 102
103 void RemoveLayer(size_t layerIndex); 103 void RemoveLayer(size_t layerIndex);
104 104
105 size_t GetLayerCount() const 105 size_t GetLayerCount() const
106 { 106 {