comparison Framework/Radiography/RadiographyScene.h @ 1204:b519c1c878f1 broker

integration mainline->broker
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 29 Nov 2019 21:24:29 +0100
parents 54cbffabdc45 9added0d371e
children 37bc7f115f81
comparison
equal deleted inserted replaced
1203:f3bb9a6dd949 1204:b519c1c878f1
178 void OnDicomExported(const Deprecated::OrthancApiClient::JsonResponseReadyMessage& message); 178 void OnDicomExported(const Deprecated::OrthancApiClient::JsonResponseReadyMessage& message);
179 179
180 void OnDicomWebReceived(const Deprecated::IWebService::HttpRequestSuccessMessage& message); 180 void OnDicomWebReceived(const Deprecated::IWebService::HttpRequestSuccessMessage& message);
181 181
182 virtual void OnLayerEdited(const RadiographyLayer::LayerEditedMessage& message); 182 virtual void OnLayerEdited(const RadiographyLayer::LayerEditedMessage& message);
183
183 public: 184 public:
184 RadiographyScene(); 185 RadiographyScene();
185 186
186 virtual ~RadiographyScene(); 187 virtual ~RadiographyScene();
187 188
200 201
201 RadiographyLayer& LoadText(const std::string& utf8, 202 RadiographyLayer& LoadText(const std::string& utf8,
202 unsigned int fontSize, 203 unsigned int fontSize,
203 uint8_t foreground, 204 uint8_t foreground,
204 RadiographyLayer::Geometry* geometry); 205 RadiographyLayer::Geometry* geometry);
205 206
207 RadiographyLayer& UpdateText(size_t layerIndex,
208 const std::string& utf8,
209 unsigned int fontSize,
210 uint8_t foreground);
211
206 RadiographyLayer& LoadTestBlock(unsigned int width, 212 RadiographyLayer& LoadTestBlock(unsigned int width,
207 unsigned int height, 213 unsigned int height,
208 RadiographyLayer::Geometry* geometry); 214 RadiographyLayer::Geometry* geometry);
209 215
210 RadiographyLayer& LoadMask(const std::vector<Orthanc::ImageProcessing::ImagePoint>& corners, 216 RadiographyLayer& LoadMask(const std::vector<Orthanc::ImageProcessing::ImagePoint>& corners,
230 236
231 RadiographyLayer& LoadDicomWebFrame(Deprecated::IWebService& web); 237 RadiographyLayer& LoadDicomWebFrame(Deprecated::IWebService& web);
232 238
233 void RemoveLayer(size_t layerIndex); 239 void RemoveLayer(size_t layerIndex);
234 240
241 RadiographyLayer& GetLayer(size_t layerIndex);
242
235 const RadiographyLayer& GetLayer(size_t layerIndex) const; 243 const RadiographyLayer& GetLayer(size_t layerIndex) const;
236 244
237 template <typename TypeLayer> 245 template <typename TypeLayer>
238 TypeLayer* GetLayer(size_t index = 0) 246 TypeLayer* GetTypedLayer(size_t indexOfType = 0)
239 { 247 {
240 std::vector<size_t> layerIndexes; 248 std::vector<size_t> layerIndexes;
241 GetLayersIndexes(layerIndexes); 249 GetLayersIndexes(layerIndexes);
242 250
243 size_t count = 0; 251 size_t count = 0;
245 for (size_t i = 0; i < layerIndexes.size(); ++i) 253 for (size_t i = 0; i < layerIndexes.size(); ++i)
246 { 254 {
247 TypeLayer* typedLayer = dynamic_cast<TypeLayer*>(layers_[layerIndexes[i]]); 255 TypeLayer* typedLayer = dynamic_cast<TypeLayer*>(layers_[layerIndexes[i]]);
248 if (typedLayer != NULL) 256 if (typedLayer != NULL)
249 { 257 {
250 if (count == index) 258 if (count == indexOfType)
251 {
252 return typedLayer;
253 }
254 count++;
255 }
256 }
257
258 return NULL;
259 }
260
261 template <typename TypeLayer>
262 const TypeLayer* GetLayer(size_t index = 0) const
263 {
264 std::vector<size_t> layerIndexes;
265 GetLayersIndexes(layerIndexes);
266
267 size_t count = 0;
268
269 for (size_t i = 0; i < layerIndexes.size(); ++i)
270 {
271 const TypeLayer* typedLayer = dynamic_cast<const TypeLayer*>(layers_.at(layerIndexes[i]));
272 if (typedLayer != NULL)
273 {
274 if (count == index)
275 { 259 {
276 return typedLayer; 260 return typedLayer;
277 } 261 }
278 count++; 262 count++;
279 } 263 }
350 Orthanc::Image* ExportToImage(double pixelSpacingX, 334 Orthanc::Image* ExportToImage(double pixelSpacingX,
351 double pixelSpacingY, 335 double pixelSpacingY,
352 ImageInterpolation interpolation, 336 ImageInterpolation interpolation,
353 bool invert, 337 bool invert,
354 int64_t maxValue /* for inversion */, 338 int64_t maxValue /* for inversion */,
355 bool applyWindowing); // i.e.: when 339 bool applyWindowing);
340
356 }; 341 };
357 } 342 }