Mercurial > hg > orthanc-stone
comparison Framework/Radiography/RadiographyScene.cpp @ 1066:b537002f83a9 broker
removing broker from deprecated classes
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 15 Oct 2019 15:39:39 +0200 |
parents | 1b49e78d91d0 |
children | 383aa2a7d426 |
comparison
equal
deleted
inserted
replaced
1065:9d42f89b8c3c | 1066:b537002f83a9 |
---|---|
140 raii->SetIndex(index); | 140 raii->SetIndex(index); |
141 layers_[index] = raii.release(); | 141 layers_[index] = raii.release(); |
142 | 142 |
143 BroadcastMessage(GeometryChangedMessage(*this, *layer)); | 143 BroadcastMessage(GeometryChangedMessage(*this, *layer)); |
144 BroadcastMessage(ContentChangedMessage(*this, *layer)); | 144 BroadcastMessage(ContentChangedMessage(*this, *layer)); |
145 layer->RegisterObserverCallback(new Callable<RadiographyScene, RadiographyLayer::LayerEditedMessage>(*this, &RadiographyScene::OnLayerEdited)); | 145 Register<RadiographyLayer::LayerEditedMessage>(*layer, &RadiographyScene::OnLayerEdited); |
146 | 146 |
147 return *layer; | 147 return *layer; |
148 } | 148 } |
149 | 149 |
150 size_t RadiographyScene::GetApproximateMemoryUsage() const | 150 size_t RadiographyScene::GetApproximateMemoryUsage() const |
160 void RadiographyScene::OnLayerEdited(const RadiographyLayer::LayerEditedMessage& message) | 160 void RadiographyScene::OnLayerEdited(const RadiographyLayer::LayerEditedMessage& message) |
161 { | 161 { |
162 BroadcastMessage(RadiographyScene::LayerEditedMessage(*this, message.GetOrigin())); | 162 BroadcastMessage(RadiographyScene::LayerEditedMessage(*this, message.GetOrigin())); |
163 } | 163 } |
164 | 164 |
165 RadiographyScene::RadiographyScene(MessageBroker& broker) : | 165 RadiographyScene::RadiographyScene() : |
166 IObserver(broker), | |
167 IObservable(broker), | |
168 countLayers_(0), | 166 countLayers_(0), |
169 hasWindowing_(false), | 167 hasWindowing_(false), |
170 windowingCenter_(0), // Dummy initialization | 168 windowingCenter_(0), // Dummy initialization |
171 windowingWidth_(0) // Dummy initialization | 169 windowingWidth_(0) // Dummy initialization |
172 { | 170 { |
282 | 280 |
283 RadiographyLayer& RadiographyScene::LoadText(const Orthanc::Font& font, | 281 RadiographyLayer& RadiographyScene::LoadText(const Orthanc::Font& font, |
284 const std::string& utf8, | 282 const std::string& utf8, |
285 RadiographyLayer::Geometry* geometry) | 283 RadiographyLayer::Geometry* geometry) |
286 { | 284 { |
287 std::auto_ptr<RadiographyTextLayer> alpha(new RadiographyTextLayer(IObservable::GetBroker(), *this)); | 285 std::auto_ptr<RadiographyTextLayer> alpha(new RadiographyTextLayer(*this)); |
288 alpha->LoadText(font, utf8); | 286 alpha->LoadText(font, utf8); |
289 if (geometry != NULL) | 287 if (geometry != NULL) |
290 { | 288 { |
291 alpha->SetGeometry(*geometry); | 289 alpha->SetGeometry(*geometry); |
292 } | 290 } |
326 RadiographyLayer& RadiographyScene::LoadMask(const std::vector<Orthanc::ImageProcessing::ImagePoint>& corners, | 324 RadiographyLayer& RadiographyScene::LoadMask(const std::vector<Orthanc::ImageProcessing::ImagePoint>& corners, |
327 const RadiographyDicomLayer& dicomLayer, | 325 const RadiographyDicomLayer& dicomLayer, |
328 float foreground, | 326 float foreground, |
329 RadiographyLayer::Geometry* geometry) | 327 RadiographyLayer::Geometry* geometry) |
330 { | 328 { |
331 std::auto_ptr<RadiographyMaskLayer> mask(new RadiographyMaskLayer(IObservable::GetBroker(), *this, dicomLayer, foreground)); | 329 std::auto_ptr<RadiographyMaskLayer> mask(new RadiographyMaskLayer(*this, dicomLayer, foreground)); |
332 mask->SetCorners(corners); | 330 mask->SetCorners(corners); |
333 if (geometry != NULL) | 331 if (geometry != NULL) |
334 { | 332 { |
335 mask->SetGeometry(*geometry); | 333 mask->SetGeometry(*geometry); |
336 } | 334 } |
339 } | 337 } |
340 | 338 |
341 | 339 |
342 RadiographyLayer& RadiographyScene::LoadAlphaBitmap(Orthanc::ImageAccessor* bitmap, RadiographyLayer::Geometry *geometry) | 340 RadiographyLayer& RadiographyScene::LoadAlphaBitmap(Orthanc::ImageAccessor* bitmap, RadiographyLayer::Geometry *geometry) |
343 { | 341 { |
344 std::auto_ptr<RadiographyAlphaLayer> alpha(new RadiographyAlphaLayer(IObservable::GetBroker(), *this)); | 342 std::auto_ptr<RadiographyAlphaLayer> alpha(new RadiographyAlphaLayer(*this)); |
345 alpha->SetAlpha(bitmap); | 343 alpha->SetAlpha(bitmap); |
346 if (geometry != NULL) | 344 if (geometry != NULL) |
347 { | 345 { |
348 alpha->SetGeometry(*geometry); | 346 alpha->SetGeometry(*geometry); |
349 } | 347 } |
356 unsigned int frame, | 354 unsigned int frame, |
357 Deprecated::DicomFrameConverter* converter, // takes ownership | 355 Deprecated::DicomFrameConverter* converter, // takes ownership |
358 RadiographyPhotometricDisplayMode preferredPhotometricDisplayMode, | 356 RadiographyPhotometricDisplayMode preferredPhotometricDisplayMode, |
359 RadiographyLayer::Geometry* geometry) | 357 RadiographyLayer::Geometry* geometry) |
360 { | 358 { |
361 RadiographyDicomLayer& layer = dynamic_cast<RadiographyDicomLayer&>(RegisterLayer(new RadiographyDicomLayer(IObservable::GetBroker(), *this))); | 359 RadiographyDicomLayer& layer = dynamic_cast<RadiographyDicomLayer&>(RegisterLayer(new RadiographyDicomLayer(*this))); |
362 | 360 |
363 layer.SetInstance(instance, frame); | 361 layer.SetInstance(instance, frame); |
364 | 362 |
365 if (geometry != NULL) | 363 if (geometry != NULL) |
366 { | 364 { |
378 const std::string& instance, | 376 const std::string& instance, |
379 unsigned int frame, | 377 unsigned int frame, |
380 bool httpCompression, | 378 bool httpCompression, |
381 RadiographyLayer::Geometry* geometry) | 379 RadiographyLayer::Geometry* geometry) |
382 { | 380 { |
383 RadiographyDicomLayer& layer = dynamic_cast<RadiographyDicomLayer&>(RegisterLayer(new RadiographyDicomLayer(IObservable::GetBroker(), *this))); | 381 RadiographyDicomLayer& layer = dynamic_cast<RadiographyDicomLayer&>(RegisterLayer(new RadiographyDicomLayer( *this))); |
384 layer.SetInstance(instance, frame); | 382 layer.SetInstance(instance, frame); |
385 | 383 |
386 if (geometry != NULL) | 384 if (geometry != NULL) |
387 { | 385 { |
388 layer.SetGeometry(*geometry); | 386 layer.SetGeometry(*geometry); |
393 std::string uri = "/instances/" + instance + "/tags"; | 391 std::string uri = "/instances/" + instance + "/tags"; |
394 | 392 |
395 orthanc.GetBinaryAsync( | 393 orthanc.GetBinaryAsync( |
396 uri, headers, | 394 uri, headers, |
397 new Callable<RadiographyScene, Deprecated::OrthancApiClient::BinaryResponseReadyMessage> | 395 new Callable<RadiographyScene, Deprecated::OrthancApiClient::BinaryResponseReadyMessage> |
398 (*this, &RadiographyScene::OnTagsReceived), NULL, | 396 (GetSharedObserver(), &RadiographyScene::OnTagsReceived), NULL, |
399 new Orthanc::SingleValueObject<size_t>(layer.GetIndex())); | 397 new Orthanc::SingleValueObject<size_t>(layer.GetIndex())); |
400 } | 398 } |
401 | 399 |
402 { | 400 { |
403 Deprecated::IWebService::HttpHeaders headers; | 401 Deprecated::IWebService::HttpHeaders headers; |
412 boost::lexical_cast<std::string>(frame) + "/image-uint16"); | 410 boost::lexical_cast<std::string>(frame) + "/image-uint16"); |
413 | 411 |
414 orthanc.GetBinaryAsync( | 412 orthanc.GetBinaryAsync( |
415 uri, headers, | 413 uri, headers, |
416 new Callable<RadiographyScene, Deprecated::OrthancApiClient::BinaryResponseReadyMessage> | 414 new Callable<RadiographyScene, Deprecated::OrthancApiClient::BinaryResponseReadyMessage> |
417 (*this, &RadiographyScene::OnFrameReceived), NULL, | 415 (GetSharedObserver(), &RadiographyScene::OnFrameReceived), NULL, |
418 new Orthanc::SingleValueObject<size_t>(layer.GetIndex())); | 416 new Orthanc::SingleValueObject<size_t>(layer.GetIndex())); |
419 } | 417 } |
420 | 418 |
421 return layer; | 419 return layer; |
422 } | 420 } |
423 | 421 |
424 | 422 |
425 RadiographyLayer& RadiographyScene::LoadDicomWebFrame(Deprecated::IWebService& web) | 423 RadiographyLayer& RadiographyScene::LoadDicomWebFrame(Deprecated::IWebService& web) |
426 { | 424 { |
427 RadiographyLayer& layer = RegisterLayer(new RadiographyDicomLayer(IObservable::GetBroker(), *this)); | 425 RadiographyLayer& layer = RegisterLayer(new RadiographyDicomLayer(*this)); |
428 | 426 |
429 | 427 |
430 return layer; | 428 return layer; |
431 } | 429 } |
432 | 430 |
750 ExportToCreateDicomRequest(createDicomRequestContent, dicomTags, parentOrthancId, pixelSpacingX, pixelSpacingY, invert, interpolation, usePam); | 748 ExportToCreateDicomRequest(createDicomRequestContent, dicomTags, parentOrthancId, pixelSpacingX, pixelSpacingY, invert, interpolation, usePam); |
751 | 749 |
752 orthanc.PostJsonAsyncExpectJson( | 750 orthanc.PostJsonAsyncExpectJson( |
753 "/tools/create-dicom", createDicomRequestContent, | 751 "/tools/create-dicom", createDicomRequestContent, |
754 new Callable<RadiographyScene, Deprecated::OrthancApiClient::JsonResponseReadyMessage> | 752 new Callable<RadiographyScene, Deprecated::OrthancApiClient::JsonResponseReadyMessage> |
755 (*this, &RadiographyScene::OnDicomExported), | 753 (GetSharedObserver(), &RadiographyScene::OnDicomExported), |
756 NULL, NULL); | 754 NULL, NULL); |
757 | 755 |
758 } | 756 } |
759 | 757 |
760 | 758 |