Mercurial > hg > orthanc-stone
comparison Framework/Layers/ILayerSource.h @ 379:2308fe0b0b05
refactoring
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 06 Nov 2018 14:41:36 +0100 |
parents | 814fa32e2fcc |
children | ba5ad93f935a |
comparison
equal
deleted
inserted
replaced
378:814fa32e2fcc | 379:2308fe0b0b05 |
---|---|
31 namespace OrthancStone | 31 namespace OrthancStone |
32 { | 32 { |
33 class ILayerSource : public IObservable | 33 class ILayerSource : public IObservable |
34 { | 34 { |
35 public: | 35 public: |
36 | 36 typedef OriginMessage<MessageType_LayerSource_GeometryReady, ILayerSource> GeometryReadyMessage; |
37 typedef OriginMessage<MessageType_LayerSource_GeometryReady, ILayerSource> GeometryReadyMessage; | 37 typedef OriginMessage<MessageType_LayerSource_GeometryError, ILayerSource> GeometryErrorMessage; |
38 typedef OriginMessage<MessageType_LayerSource_GeometryError, ILayerSource> GeometryErrorMessage; | |
39 typedef OriginMessage<MessageType_LayerSource_ContentChanged, ILayerSource> ContentChangedMessage; | 38 typedef OriginMessage<MessageType_LayerSource_ContentChanged, ILayerSource> ContentChangedMessage; |
40 | 39 |
41 struct SliceChangedMessage : public OriginMessage<MessageType_LayerSource_SliceChanged, ILayerSource> | 40 class SliceChangedMessage : public OriginMessage<MessageType_LayerSource_SliceChanged, ILayerSource> |
42 { | 41 { |
42 private: | |
43 const Slice& slice_; | 43 const Slice& slice_; |
44 SliceChangedMessage(ILayerSource& origin, const Slice& slice) | 44 |
45 : OriginMessage(origin), | 45 public: |
46 slice_(slice) | 46 SliceChangedMessage(ILayerSource& origin, |
47 const Slice& slice) : | |
48 OriginMessage(origin), | |
49 slice_(slice) | |
47 { | 50 { |
48 } | 51 } |
52 | |
53 const Slice& GetSlice() const | |
54 { | |
55 return slice_; | |
56 } | |
49 }; | 57 }; |
58 | |
50 | 59 |
51 struct LayerReadyMessage : public OriginMessage<MessageType_LayerSource_LayerReady, ILayerSource> | 60 class LayerReadyMessage : public OriginMessage<MessageType_LayerSource_LayerReady, ILayerSource> |
52 { | 61 { |
53 std::auto_ptr<ILayerRenderer>& renderer_; | 62 private: |
63 std::auto_ptr<ILayerRenderer> renderer_; | |
54 const CoordinateSystem3D& slice_; | 64 const CoordinateSystem3D& slice_; |
55 bool isError_; | 65 bool isError_; |
56 | 66 |
67 public: | |
57 LayerReadyMessage(ILayerSource& origin, | 68 LayerReadyMessage(ILayerSource& origin, |
58 std::auto_ptr<ILayerRenderer>& layer, | 69 ILayerRenderer* renderer, // Takes ownership => TODO Remove this! |
59 const CoordinateSystem3D& slice, | 70 const CoordinateSystem3D& slice, |
60 bool isError // TODO Shouldn't this be separate as NotifyLayerError? | 71 bool isError // TODO => create NotifyLayerError |
61 ) | 72 ) : |
62 : OriginMessage(origin), | 73 OriginMessage(origin), |
63 renderer_(layer), | 74 renderer_(renderer), |
64 slice_(slice), | 75 slice_(slice), |
65 isError_(isError) | 76 isError_(isError) |
66 { | 77 { |
78 } | |
79 | |
80 // TODO - Remove this function | |
81 std::auto_ptr<ILayerRenderer>& GetRendererRaw() | |
82 { | |
83 return renderer_; | |
84 } | |
85 | |
86 const ILayerRenderer& GetRenderer() const | |
87 { | |
88 return *renderer_; | |
89 } | |
90 | |
91 const CoordinateSystem3D& GetSlice() const | |
92 { | |
93 return slice_; | |
94 } | |
95 | |
96 bool IsError() const | |
97 { | |
98 return isError_; | |
67 } | 99 } |
68 }; | 100 }; |
69 | 101 |
70 | 102 |
71 // TODO: Rename "ImageReadyMessage" as "SliceReadyMessage" | 103 // TODO: Rename "ImageReadyMessage" as "SliceReadyMessage" |