Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
#include <mitkRenderWindowLayerController.h>
Public Member Functions | |
RenderWindowLayerController () | |
void | SetDataStorage (DataStorage::Pointer dataStorage) |
Set the data storage on which to work. More... | |
void | SetControlledRenderer (RenderWindowLayerUtilities::RendererVector controlledRenderer) |
Set the controlled base renderer. More... | |
void | SetBaseDataNode (DataNode *dataNode, const BaseRenderer *renderer=nullptr) |
Set the given node as the base node of the given renderer. More... | |
void | InsertLayerNode (DataNode *dataNode, int layer=RenderWindowLayerUtilities::TOP_LAYER_INDEX, const BaseRenderer *renderer=nullptr) |
Insert the given data node at the specified layer for the given renderer. More... | |
void | RemoveLayerNode (DataNode *dataNode, const BaseRenderer *renderer=nullptr) |
Remove the given data node for the given renderer. More... | |
bool | MoveNodeToPosition (DataNode *dataNode, int newLayer, const BaseRenderer *renderer=nullptr) |
Move the data node to the given layer. This will change only the "layer" property. More... | |
bool | MoveNodeToFront (DataNode *dataNode, const BaseRenderer *renderer=nullptr) |
Set the node in the given renderer as the topmost layer. This will change only the "layer" property. More... | |
bool | MoveNodeToBack (DataNode *dataNode, const BaseRenderer *renderer=nullptr) |
Set the node in the given renderer as the lowermost layer. This will change only the "layer" property. More... | |
bool | MoveNodeUp (DataNode *dataNode, const BaseRenderer *renderer=nullptr) |
Move the node in the given renderer one layer down. This will change only the "layer" property. More... | |
bool | MoveNodeDown (DataNode *dataNode, const BaseRenderer *renderer=nullptr) |
Move the node in the given renderer one layer up. This will change only the "layer" property. More... | |
void | SetVisibilityOfDataNode (bool visiblity, DataNode *dataNode, const BaseRenderer *renderer=nullptr) |
Set the visibility of the given data node for the given renderer. More... | |
void | HideDataNodeInAllRenderer (const DataNode *dataNode) |
Hide the given data node by setting the "visible" property of the data node for all controlled renderer to false. Later setting the "visible" property of the data node for a certain renderer will overwrite the same property of the common renderer. More... | |
void | ResetRenderer (bool onlyVisibility=true, const BaseRenderer *renderer=nullptr) |
Reset the given render window: If "onlyVisibility = true": set all data nodes for the given render window to invisible, except for the base node. If "onlyVisibility = false": remove all data nodes from the render window, except for the base node. More... | |
The RenderWindowLayerController is used to manipulate the 'layer', 'fixedLayer' and 'visible' property of a given data node. The 'layer' property is used to denote the layer level of a data node. Data from nodes on higher layer level are rendered on top of data from nodes on lower layer level. It can be changed using the 'MoveNode*'-functions.
To view the data of a data node only in a specific renderer, the "InsertLayerNode'-function should be used. It inserts the given node into the specified renderer and sets the corresponding properties. To hide the data in the common renderer view (all renderer), the 'HideDataNodeInAllRenderer'-function can be used. Inserting and showing a data node in a specific renderer / render window, will overwrite the properties of the common renderer view.
For more information about the data node properties for specific renderer, see mitk::DataNode- and mitk::PropertyList-classes.
Functions with 'mitk::BaseRenderer* renderer' have 'nullptr' as their default argument. Using the nullptr these functions operate on all base renderer. Giving a specific base renderer will modify the node only for the given renderer.
Definition at line 42 of file mitkRenderWindowLayerController.h.
mitk::RenderWindowLayerController::RenderWindowLayerController | ( | ) |
Definition at line 16 of file mitkRenderWindowLayerController.cpp.
void mitk::RenderWindowLayerController::HideDataNodeInAllRenderer | ( | const DataNode * | dataNode | ) |
Hide the given data node by setting the "visible" property of the data node for all controlled renderer to false. Later setting the "visible" property of the data node for a certain renderer will overwrite the same property of the common renderer.
dataNode | The data node that should be hid. |
Definition at line 498 of file mitkRenderWindowLayerController.cpp.
References mitk::RenderingManager::GetInstance(), mitk::DataNode::GetPropertyList(), mitk::RenderingManager::RequestUpdateAll(), and mitk::PropertyList::SetBoolProperty().
void mitk::RenderWindowLayerController::InsertLayerNode | ( | DataNode * | dataNode, |
int | layer = RenderWindowLayerUtilities::TOP_LAYER_INDEX , |
||
const BaseRenderer * | renderer = nullptr |
||
) |
Insert the given data node at the specified layer for the given renderer.
dataNode | The data node that should be inserted. |
layer | The layer value for the "layer" property of the data node (insertion level). "layer = RenderWindowLayerUtilities::TOP_LAYER_INDEX" (default) inserts the given data node at the top of the node stack (topmost layer). |
renderer | Pointer to the renderer instance for which the data node should be inserted. If it is a nullptr (default) all controlled renderer will be affected. |
Definition at line 84 of file mitkRenderWindowLayerController.cpp.
References mitk::RenderWindowLayerUtilities::BASE_LAYER_INDEX, mitk::RenderingManager::GetInstance(), mitk::RenderWindowLayerUtilities::GetLayerStack(), mitk::BaseRenderer::GetRenderWindow(), MoveNodeToPosition(), mitk::RenderingManager::RequestUpdate(), SetBaseDataNode(), mitk::DataNode::SetIntProperty(), mitk::RenderWindowLayerUtilities::SetRenderWindowProperties(), and mitk::RenderWindowLayerUtilities::TOP_LAYER_INDEX.
bool mitk::RenderWindowLayerController::MoveNodeDown | ( | DataNode * | dataNode, |
const BaseRenderer * | renderer = nullptr |
||
) |
Move the node in the given renderer one layer up. This will change only the "layer" property.
dataNode | The data node that should be moved. |
renderer | Pointer to the renderer instance for which the data node should be moved. If it is a nullptr (default) all controlled renderer will be affected. |
Definition at line 413 of file mitkRenderWindowLayerController.cpp.
References mitk::RenderingManager::GetInstance(), mitk::DataNode::GetIntProperty(), mitk::RenderWindowLayerUtilities::GetLayerStack(), mitk::BaseRenderer::GetRenderWindow(), mitk::RenderingManager::RequestUpdate(), and mitk::DataNode::SetIntProperty().
bool mitk::RenderWindowLayerController::MoveNodeToBack | ( | DataNode * | dataNode, |
const BaseRenderer * | renderer = nullptr |
||
) |
Set the node in the given renderer as the lowermost layer. This will change only the "layer" property.
dataNode | The data node that should be moved. |
renderer | Pointer to the renderer instance for which the data node should be moved. If it is a nullptr (default) all controlled renderer will be affected. |
Definition at line 301 of file mitkRenderWindowLayerController.cpp.
References mitk::RenderingManager::GetInstance(), mitk::DataNode::GetIntProperty(), mitk::RenderWindowLayerUtilities::GetLayerStack(), mitk::BaseRenderer::GetRenderWindow(), mitk::RenderingManager::RequestUpdate(), and mitk::DataNode::SetIntProperty().
bool mitk::RenderWindowLayerController::MoveNodeToFront | ( | DataNode * | dataNode, |
const BaseRenderer * | renderer = nullptr |
||
) |
Set the node in the given renderer as the topmost layer. This will change only the "layer" property.
dataNode | The data node that should be moved. |
renderer | Pointer to the renderer instance for which the data node should be moved. If it is a nullptr (default) all controlled renderer will be affected. |
Definition at line 255 of file mitkRenderWindowLayerController.cpp.
References mitk::RenderingManager::GetInstance(), mitk::DataNode::GetIntProperty(), mitk::RenderWindowLayerUtilities::GetLayerStack(), mitk::BaseRenderer::GetRenderWindow(), mitk::RenderingManager::RequestUpdate(), and mitk::DataNode::SetIntProperty().
bool mitk::RenderWindowLayerController::MoveNodeToPosition | ( | DataNode * | dataNode, |
int | newLayer, | ||
const BaseRenderer * | renderer = nullptr |
||
) |
Move the data node to the given layer. This will change only the "layer" property.
dataNode | The data node that should be moved. |
renderer | Pointer to the renderer instance for which the data node should be moved. If it is a nullptr (default) all controlled renderer will be affected. |
Definition at line 182 of file mitkRenderWindowLayerController.cpp.
References mitk::RenderingManager::GetInstance(), mitk::DataNode::GetIntProperty(), mitk::RenderWindowLayerUtilities::GetLayerStack(), mitk::BaseRenderer::GetRenderWindow(), mitk::RenderingManager::RequestUpdate(), and mitk::DataNode::SetIntProperty().
Referenced by InsertLayerNode().
bool mitk::RenderWindowLayerController::MoveNodeUp | ( | DataNode * | dataNode, |
const BaseRenderer * | renderer = nullptr |
||
) |
Move the node in the given renderer one layer down. This will change only the "layer" property.
dataNode | The data node that should be moved. |
renderer | Pointer to the renderer instance for which the data node should be moved. If it is a nullptr (default) all controlled renderer will be affected. |
Definition at line 358 of file mitkRenderWindowLayerController.cpp.
References mitk::RenderingManager::GetInstance(), mitk::DataNode::GetIntProperty(), mitk::RenderWindowLayerUtilities::GetLayerStack(), mitk::BaseRenderer::GetRenderWindow(), mitk::RenderingManager::RequestUpdate(), and mitk::DataNode::SetIntProperty().
void mitk::RenderWindowLayerController::RemoveLayerNode | ( | DataNode * | dataNode, |
const BaseRenderer * | renderer = nullptr |
||
) |
Remove the given data node for the given renderer.
dataNode | The data node that should be removed. |
renderer | Pointer to the renderer instance for which the data node should be removed. If it is a nullptr (default) all controlled renderer will be affected. |
Definition at line 153 of file mitkRenderWindowLayerController.cpp.
References mitk::PropertyList::DeleteProperty(), mitk::RenderingManager::GetInstance(), mitk::DataNode::GetPropertyList(), mitk::BaseRenderer::GetRenderWindow(), mitk::RenderingManager::RequestUpdate(), mitk::DataNode::SetBoolProperty(), and mitk::DataNode::SetVisibility().
void mitk::RenderWindowLayerController::ResetRenderer | ( | bool | onlyVisibility = true , |
const BaseRenderer * | renderer = nullptr |
||
) |
Reset the given render window: If "onlyVisibility = true": set all data nodes for the given render window to invisible, except for the base node. If "onlyVisibility = false": remove all data nodes from the render window, except for the base node.
visibility | Boolean to define the reset mode. |
renderer | Pointer to the renderer instance for which the data node should be reset. If it is a nullptr (default) all controlled renderer will be affected. |
Definition at line 516 of file mitkRenderWindowLayerController.cpp.
References mitk::RenderWindowLayerUtilities::BASE_LAYER_INDEX, mitk::RenderingManager::GetInstance(), mitk::RenderWindowLayerUtilities::GetLayerStack(), mitk::BaseRenderer::GetRenderWindow(), and mitk::RenderingManager::RequestUpdate().
void mitk::RenderWindowLayerController::SetBaseDataNode | ( | DataNode * | dataNode, |
const BaseRenderer * | renderer = nullptr |
||
) |
Set the given node as the base node of the given renderer.
dataNode | The data node whose layer is to be modified. |
renderer | Pointer to the renderer instance for which the data node property should be modified. If it is a nullptr (default) all controlled renderer will be affected. |
Definition at line 40 of file mitkRenderWindowLayerController.cpp.
References mitk::RenderWindowLayerUtilities::BASE_LAYER_INDEX, mitk::RenderingManager::GetInstance(), mitk::RenderWindowLayerUtilities::GetLayerStack(), mitk::BaseRenderer::GetRenderWindow(), mitk::RenderingManager::RequestUpdate(), mitk::DataNode::SetBoolProperty(), mitk::DataNode::SetIntProperty(), and mitk::DataNode::SetVisibility().
Referenced by InsertLayerNode().
void mitk::RenderWindowLayerController::SetControlledRenderer | ( | RenderWindowLayerUtilities::RendererVector | controlledRenderer | ) |
Set the controlled base renderer.
Definition at line 31 of file mitkRenderWindowLayerController.cpp.
void mitk::RenderWindowLayerController::SetDataStorage | ( | DataStorage::Pointer | dataStorage | ) |
Set the data storage on which to work.
Definition at line 22 of file mitkRenderWindowLayerController.cpp.
void mitk::RenderWindowLayerController::SetVisibilityOfDataNode | ( | bool | visiblity, |
DataNode * | dataNode, | ||
const BaseRenderer * | renderer = nullptr |
||
) |
Set the visibility of the given data node for the given renderer.
visibility | Boolean to set the "visible" property of the given data node. |
dataNode | The data node that should be moved. |
renderer | Pointer to the renderer instance for which the data node should be modified. If it is a nullptr (default) all controlled renderer will be affected. |
Definition at line 472 of file mitkRenderWindowLayerController.cpp.
References mitk::RenderingManager::GetInstance(), mitk::BaseRenderer::GetRenderWindow(), mitk::RenderingManager::RequestUpdate(), and mitk::DataNode::SetVisibility().