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

Method UpdateHandleHighlight

Modules/Gizmo/src/mitkGizmoInteractor.cpp:427–465  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

425}
426
427void mitk::GizmoInteractor::UpdateHandleHighlight()
428{
429 if (m_HighlightedHandle != m_PickedHandle) {
430
431 auto node = GetDataNode();
432 if (node == nullptr) return;
433
434 auto base_prop = node->GetProperty("LookupTable");
435 if (base_prop == nullptr) return;
436
437 auto lut_prop = dynamic_cast<LookupTableProperty*>(base_prop);
438 if (lut_prop == nullptr) return;
439
440 auto lut = lut_prop->GetLookupTable();
441 if (lut == nullptr) return;
442
443 // Table size is expected to constructed as one entry per gizmo-part enum value
444 assert(lut->GetVtkLookupTable()->GetNumberOfTableValues() > std::max(m_PickedHandle, m_HighlightedHandle));
445
446 // Reset previously overwritten color
447 if (m_HighlightedHandle != Gizmo::NoHandle)
448 {
449 lut->SetTableValue(m_HighlightedHandle, m_ColorReplacedByHighlight);
450 }
451
452 // Overwrite currently highlighted color
453 if (m_PickedHandle != Gizmo::NoHandle)
454 {
455 lut->GetTableValue(m_PickedHandle, m_ColorReplacedByHighlight);
456 lut->SetTableValue(m_PickedHandle, m_ColorForHighlight);
457 }
458
459 // Mark node modified to allow repaint
460 node->Modified();
461 RenderingManager::GetInstance()->RequestUpdateAll(RenderingManager::REQUEST_UPDATE_ALL);
462
463 m_HighlightedHandle = m_PickedHandle;
464 }
465}

Callers

nothing calls this directly

Calls 7

GetVtkLookupTableMethod · 0.80
GetPropertyMethod · 0.45
GetLookupTableMethod · 0.45
SetTableValueMethod · 0.45
GetTableValueMethod · 0.45
ModifiedMethod · 0.45
RequestUpdateAllMethod · 0.45

Tested by

no test coverage detected