comparison Framework/Toolbox/OrthancSlicesLoader.h @ 299:3897f9f28cfa am-callable-and-promise

backup work in progress: updated messaging framework with ICallable
author am@osimis.io
date Fri, 14 Sep 2018 16:44:01 +0200
parents 5bd4161bf11b
children b4abaeb783b1
comparison
equal deleted inserted replaced
298:f58bfb7bbcc9 299:3897f9f28cfa
30 namespace OrthancStone 30 namespace OrthancStone
31 { 31 {
32 class OrthancSlicesLoader : public IObservable 32 class OrthancSlicesLoader : public IObservable
33 { 33 {
34 public: 34 public:
35 struct SliceImageReadyMessage : public IMessage 35
36 typedef OriginMessage<MessageType_SliceLoader_GeometryReady, OrthancSlicesLoader> SliceGeometryReadyMessage;
37 typedef OriginMessage<MessageType_SliceLoader_GeometryError, OrthancSlicesLoader> SliceGeometryErrorMessage;
38
39 struct SliceImageReadyMessage : public BaseMessage<MessageType_SliceLoader_ImageReady>
36 { 40 {
37 unsigned int sliceIndex_; 41 unsigned int sliceIndex_;
38 const Slice& slice_; 42 const Slice& slice_;
39 std::auto_ptr<Orthanc::ImageAccessor>& image_; 43 std::auto_ptr<Orthanc::ImageAccessor>& image_;
40 SliceImageQuality effectiveQuality_; 44 SliceImageQuality effectiveQuality_;
41 45
42 SliceImageReadyMessage(unsigned int sliceIndex, 46 SliceImageReadyMessage(unsigned int sliceIndex,
43 const Slice& slice, 47 const Slice& slice,
44 std::auto_ptr<Orthanc::ImageAccessor>& image, 48 std::auto_ptr<Orthanc::ImageAccessor>& image,
45 SliceImageQuality effectiveQuality) 49 SliceImageQuality effectiveQuality)
46 : IMessage(MessageType_SliceLoader_ImageReady), 50 : BaseMessage(),
47 sliceIndex_(sliceIndex), 51 sliceIndex_(sliceIndex),
48 slice_(slice), 52 slice_(slice),
49 image_(image), 53 image_(image),
50 effectiveQuality_(effectiveQuality) 54 effectiveQuality_(effectiveQuality)
51 { 55 {
52 } 56 }
53 }; 57 };
54 58
55 struct SliceImageErrorMessage : public IMessage 59 struct SliceImageErrorMessage : public BaseMessage<MessageType_SliceLoader_ImageError>
56 { 60 {
57 const Slice& slice_; 61 const Slice& slice_;
58 unsigned int sliceIndex_; 62 unsigned int sliceIndex_;
59 SliceImageQuality effectiveQuality_; 63 SliceImageQuality effectiveQuality_;
60 64
61 SliceImageErrorMessage(unsigned int sliceIndex, 65 SliceImageErrorMessage(unsigned int sliceIndex,
62 const Slice& slice, 66 const Slice& slice,
63 SliceImageQuality effectiveQuality) 67 SliceImageQuality effectiveQuality)
64 : IMessage(MessageType_SliceLoader_ImageError), 68 : BaseMessage(),
65 slice_(slice), 69 slice_(slice),
66 sliceIndex_(sliceIndex), 70 sliceIndex_(sliceIndex),
67 effectiveQuality_(effectiveQuality) 71 effectiveQuality_(effectiveQuality)
68 { 72 {
69 } 73 }
164 const CoordinateSystem3D& plane) const; 168 const CoordinateSystem3D& plane) const;
165 169
166 void ScheduleLoadSliceImage(size_t index, 170 void ScheduleLoadSliceImage(size_t index,
167 SliceImageQuality requestedQuality); 171 SliceImageQuality requestedQuality);
168 172
169 virtual void HandleMessage(IObservable& from, const IMessage& message); 173 // virtual void HandleMessage(IObservable& from, const IMessage& message);
170 }; 174 };
171 } 175 }