comparison Framework/Radiography/RadiographyScene.h @ 438:237160cbb44f am-vsol-upgrade

allow derivation of RadiographyScene
author am@osimis.io
date Thu, 20 Dec 2018 18:24:52 +0100
parents 4eb96c6b4e96
children a750f11892ec
comparison
equal deleted inserted replaced
437:8f7220433b59 438:237160cbb44f
31 public IObserver, 31 public IObserver,
32 public IObservable 32 public IObservable
33 { 33 {
34 public: 34 public:
35 class GeometryChangedMessage : 35 class GeometryChangedMessage :
36 public OriginMessage<MessageType_Scene_GeometryChanged, RadiographyScene> 36 public OriginMessage<MessageType_Scene_GeometryChanged, RadiographyScene>
37 { 37 {
38 private: 38 private:
39 RadiographyLayer& layer_; 39 RadiographyLayer& layer_;
40 40
41 public: 41 public:
51 return layer_; 51 return layer_;
52 } 52 }
53 }; 53 };
54 54
55 class ContentChangedMessage : 55 class ContentChangedMessage :
56 public OriginMessage<MessageType_Scene_ContentChanged, RadiographyScene> 56 public OriginMessage<MessageType_Scene_ContentChanged, RadiographyScene>
57 { 57 {
58 private: 58 private:
59 RadiographyLayer& layer_; 59 RadiographyLayer& layer_;
60 60
61 public: 61 public:
62 ContentChangedMessage(const RadiographyScene& origin, 62 ContentChangedMessage(const RadiographyScene& origin,
63 RadiographyLayer& layer) : 63 RadiographyLayer& layer) :
64 OriginMessage(origin), 64 OriginMessage(origin),
65 layer_(layer) 65 layer_(layer)
66 { 66 {
67 } 67 }
68 68
113 bool hasWindowing_; 113 bool hasWindowing_;
114 float windowingCenter_; 114 float windowingCenter_;
115 float windowingWidth_; 115 float windowingWidth_;
116 Layers layers_; 116 Layers layers_;
117 117
118 protected:
118 RadiographyLayer& RegisterLayer(RadiographyLayer* layer); 119 RadiographyLayer& RegisterLayer(RadiographyLayer* layer);
119 120
120 void OnTagsReceived(const OrthancApiClient::BinaryResponseReadyMessage& message); 121 void OnTagsReceived(const OrthancApiClient::BinaryResponseReadyMessage& message);
121 122
122 void OnFrameReceived(const OrthancApiClient::BinaryResponseReadyMessage& message); 123 void OnFrameReceived(const OrthancApiClient::BinaryResponseReadyMessage& message);
150 RadiographyLayer::Geometry* geometry); 151 RadiographyLayer::Geometry* geometry);
151 152
152 RadiographyLayer& LoadAlphaBitmap(Orthanc::ImageAccessor* bitmap, // takes ownership 153 RadiographyLayer& LoadAlphaBitmap(Orthanc::ImageAccessor* bitmap, // takes ownership
153 RadiographyLayer::Geometry* geometry); 154 RadiographyLayer::Geometry* geometry);
154 155
155 RadiographyLayer& LoadDicomFrame(OrthancApiClient& orthanc, 156 virtual RadiographyLayer& LoadDicomFrame(OrthancApiClient& orthanc,
156 const std::string& instance, 157 const std::string& instance,
157 unsigned int frame, 158 unsigned int frame,
158 bool httpCompression, 159 bool httpCompression,
159 RadiographyLayer::Geometry* geometry); // pass NULL if you want default geometry 160 RadiographyLayer::Geometry* geometry); // pass NULL if you want default geometry
160 161
161 RadiographyLayer& LoadDicomWebFrame(IWebService& web); 162 RadiographyLayer& LoadDicomWebFrame(IWebService& web);
162 163
163 void RemoveLayer(size_t layerIndex); 164 void RemoveLayer(size_t layerIndex);
164 165
194 ImageInterpolation interpolation, 195 ImageInterpolation interpolation,
195 bool usePam); 196 bool usePam);
196 197
197 // temporary version used by VSOL because we need to send the same request at another url 198 // temporary version used by VSOL because we need to send the same request at another url
198 void ExportToCreateDicomRequest(Json::Value& createDicomRequestContent, 199 void ExportToCreateDicomRequest(Json::Value& createDicomRequestContent,
199 const Orthanc::DicomMap& dicom, 200 const Orthanc::DicomMap& dicom,
200 double pixelSpacingX, 201 double pixelSpacingX,
201 double pixelSpacingY, 202 double pixelSpacingY,
202 bool invert, 203 bool invert,
203 ImageInterpolation interpolation, 204 ImageInterpolation interpolation,
204 bool usePam); 205 bool usePam);
205 }; 206 };
206 } 207 }