| 443 | } |
| 444 | |
| 445 | void 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); |
no test coverage detected