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