23 if (
nullptr == dataStorage ||
nullptr == renderer)
31 DataStorage::SetOfObjects::ConstPointer filteredDataNodes = dataStorage->
GetSubset(combinedNodePredicate);
32 for (DataStorage::SetOfObjects::ConstIterator it = filteredDataNodes->Begin(); it != filteredDataNodes->End(); ++it)
35 if (dataNode.IsNull())
40 bool layerFound = dataNode->GetIntProperty(
"layer", layer, renderer);
46 stackedLayers.insert(std::make_pair(layer, dataNode));
60 renderWindowPredicate->AddPredicate(NodePredicateNot::New(helperObject));
61 renderWindowPredicate->AddPredicate(fixedLayer);
63 return renderWindowPredicate;
72 bool visibilityProperty = dataNode->
GetVisibility(visible, renderer);
73 if (
true == visibilityProperty)
82 bool layerProperty = dataNode->
GetIntProperty(
"layer", layer, renderer);
83 if (
true == layerProperty)
void SetIntProperty(const char *propertyKey, int intValue, const mitk::BaseRenderer *renderer=nullptr)
Convenience method for setting int properties (instances of IntProperty)
Data management class that handles 'was created by' relations.
MITKRENDERWINDOWMANAGER_EXPORT void SetRenderWindowProperties(mitk::DataNode *dataNode, const BaseRenderer *renderer)
Set renderer-specific properties to mark a data node as 'managed by the specific renderer'. In order for a renderer to manage a data node, the 'fixedLayer' property has to be set for the given renderer. Additionally, the 'visible' and the 'layer' property are set and allow to individually render a set of nodes with a specific renderer. The last two mentioned properties are set so that they initially have the same value as the corresponding global property.
void SetVisibility(bool visible, const mitk::BaseRenderer *renderer=nullptr, const char *propertyKey="visible")
Convenience method for setting visibility properties (instances of BoolProperty)
const int BASE_LAYER_INDEX
Organizes the rendering process.
MITKRENDERWINDOWMANAGER_EXPORT NodePredicateAnd::Pointer GetRenderWindowPredicate(const BaseRenderer *renderer)
Helper function to get a node predicate that can be used to filter render window specific data nodes...
bool GetIntProperty(const char *propertyKey, int &intValue, const mitk::BaseRenderer *renderer=nullptr) const
Convenience access method for int properties (instances of IntProperty)
SetOfObjects::ConstPointer GetSubset(const NodePredicateBase *condition) const
returns a set of data objects that meet the given condition(s)
bool GetVisibility(bool &visible, const mitk::BaseRenderer *renderer, const char *propertyKey="visible") const
Convenience access method for visibility properties (instances of BoolProperty with property-key "vis...
MITKRENDERWINDOWMANAGER_EXPORT LayerStack GetLayerStack(const DataStorage *dataStorage, const BaseRenderer *renderer, bool withBaseNode)
Return the stack of layers of the given renderer as std::map<int, DataNode::Pointer>, which guarantees ordering of the layers. Stacked layers are only included if they have their "fixedLayer" property set to true and their "layer" property set.
void SetBoolProperty(const char *propertyKey, bool boolValue, const mitk::BaseRenderer *renderer=nullptr)
Convenience method for setting boolean properties (instances of BoolProperty)
std::map< int, DataNode::Pointer, std::greater< int > > LayerStack
Class for nodes of the DataTree.