MCPcopy Create free account
hub / github.com/MITK/MITK / ApplyColor

Method ApplyColor

Modules/RT/src/mitkDoseImageVtkMapper2D.cpp:445–504  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

443}
444
445void mitk::DoseImageVtkMapper2D::ApplyColor(mitk::BaseRenderer *renderer)
446{
447 LocalStorage *localStorage = this->GetLocalStorage(renderer);
448
449 float rgb[3] = {1.0f, 1.0f, 1.0f};
450
451 // check for color prop and use it for rendering if it exists
452 // binary image hovering & binary image selection
453 bool hover = false;
454 bool selected = false;
455 GetDataNode()->GetBoolProperty("binaryimage.ishovering", hover, renderer);
456 GetDataNode()->GetBoolProperty("selected", selected, renderer);
457 if (hover && !selected)
458 {
459 mitk::ColorProperty::Pointer colorprop =
460 dynamic_cast<mitk::ColorProperty *>(GetDataNode()->GetProperty("binaryimage.hoveringcolor", renderer));
461 if (colorprop.IsNotNull())
462 {
463 memcpy(rgb, colorprop->GetColor().GetDataPointer(), 3 * sizeof(float));
464 }
465 else
466 {
467 GetDataNode()->GetColor(rgb, renderer, "color");
468 }
469 }
470 if (selected)
471 {
472 mitk::ColorProperty::Pointer colorprop =
473 dynamic_cast<mitk::ColorProperty *>(GetDataNode()->GetProperty("binaryimage.selectedcolor", renderer));
474 if (colorprop.IsNotNull())
475 {
476 memcpy(rgb, colorprop->GetColor().GetDataPointer(), 3 * sizeof(float));
477 }
478 else
479 {
480 GetDataNode()->GetColor(rgb, renderer, "color");
481 }
482 }
483 if (!hover && !selected)
484 {
485 GetDataNode()->GetColor(rgb, renderer, "color");
486 }
487
488 double rgbConv[3] = {(double)rgb[0], (double)rgb[1], (double)rgb[2]}; // conversion to double for VTK
489 dynamic_cast<vtkActor *>(localStorage->m_Actors->GetParts()->GetItemAsObject(0))->GetProperty()->SetColor(rgbConv);
490 localStorage->m_Actor->GetProperty()->SetColor(rgbConv);
491
492 if (localStorage->m_Actors->GetParts()->GetNumberOfItems() > 1)
493 {
494 float rgb[3] = {1.0f, 1.0f, 1.0f};
495 mitk::ColorProperty::Pointer colorprop =
496 dynamic_cast<mitk::ColorProperty *>(GetDataNode()->GetProperty("outline binary shadow color", renderer));
497 if (colorprop.IsNotNull())
498 {
499 memcpy(rgb, colorprop->GetColor().GetDataPointer(), 3 * sizeof(float));
500 }
501 double rgbConv[3] = {(double)rgb[0], (double)rgb[1], (double)rgb[2]}; // conversion to double for VTK
502 dynamic_cast<vtkActor *>(localStorage->m_Actors->GetParts()->GetItemAsObject(0))->GetProperty()->SetColor(rgbConv);

Callers 1

ApplyRenderingModeMethod · 0.95

Calls 7

GetLocalStorageMethod · 0.95
IsNotNullMethod · 0.80
GetBoolPropertyMethod · 0.45
GetPropertyMethod · 0.45
GetColorMethod · 0.45
SetColorMethod · 0.45
GetPartsMethod · 0.45

Tested by

no test coverage detected