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

Method InsertLayerNode

Modules/QtWidgets/src/mitkRenderWindowLayerController.cpp:31–77  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29}
30
31void mitk::RenderWindowLayerController::InsertLayerNode(DataNode* dataNode, int layer /*= RenderWindowLayerUtilities::TOP_LAYER_INDEX*/, const BaseRenderer* renderer /*= nullptr*/)
32{
33 if (nullptr == dataNode)
34 {
35 return;
36 }
37
38 RenderWindowLayerUtilities::SetRenderWindowProperties(dataNode, renderer);
39
40 // get the layer stack of the current renderer
41 RenderWindowLayerUtilities::LayerStack stackedLayers = RenderWindowLayerUtilities::GetLayerStack(m_DataStorage, renderer);
42 if (stackedLayers.empty())
43 {
44 // no layer stack for the current renderer
45 if (RenderWindowLayerUtilities::TOP_LAYER_INDEX == layer)
46 {
47 // set given layer as first layer
48 layer = 0;
49 }
50 }
51 else
52 {
53 if (RenderWindowLayerUtilities::TOP_LAYER_INDEX == layer)
54 {
55 // get the first value (highest int-key -> topmost layer)
56 // + 1 indicates inserting the node above the topmost layer
57 layer = stackedLayers.begin()->first + 1;
58 }
59 else
60 {
61 MoveNodeToPosition(dataNode, layer, renderer);
62 return;
63 }
64 }
65 // update data storage (the "data node model")
66 dataNode->SetIntProperty("layer", layer, renderer);
67 dataNode->Modified();
68 if (nullptr == renderer)
69 {
70 mitk::RenderingManager::GetInstance()->RequestUpdateAll();
71
72 }
73 else
74 {
75 mitk::RenderingManager::GetInstance()->RequestUpdate(renderer->GetRenderWindow());
76 }
77}
78
79bool mitk::RenderWindowLayerController::MoveNodeToPosition(DataNode* dataNode, int newLayer, const BaseRenderer* renderer /*= nullptr*/)
80{

Callers 1

Calls 7

emptyMethod · 0.45
beginMethod · 0.45
SetIntPropertyMethod · 0.45
ModifiedMethod · 0.45
RequestUpdateAllMethod · 0.45
RequestUpdateMethod · 0.45
GetRenderWindowMethod · 0.45

Tested by

no test coverage detected