Medical Imaging Interaction Toolkit  2018.4.99-9a29ffc6 Medical Imaging Interaction Toolkit
mitk::DataStorage Class Referenceabstract

Data management class that handles 'was created by' relations. More...

#include <mitkDataStorage.h>

Inheritance diagram for mitk::DataStorage:
Collaboration diagram for mitk::DataStorage:

## Public Types

typedef DataStorage Self

typedef itk::Object Superclass

typedef itk::SmartPointer< SelfPointer

typedef itk::SmartPointer< const SelfConstPointer

typedef itk::VectorContainer< unsigned int, DataNode::PointerSetOfObjects
A Container of objects that is used as a result set of GetSubset() query operations (Set of. More...

typedef Message1< const DataNode * > DataStorageEvent

## Public Member Functions

virtual std::vector< std::string > GetClassHierarchy () const

virtual const char * GetClassName () const

virtual void Add (DataNode *node, const DataStorage::SetOfObjects *parents=nullptr)=0
Adds a DataNode containing a data object to its internal storage. More...

void Add (DataNode *node, DataNode *parent)
Convenience method to add a node that has one parent. More...

virtual void Remove (const DataNode *node)=0
Removes node from the DataStorage. More...

virtual bool Exists (const DataNode *node) const =0
Checks if a node exists in the DataStorage. More...

void Remove (const DataStorage::SetOfObjects *nodes)
Removes a set of nodes from the DataStorage. More...

SetOfObjects::ConstPointer GetSubset (const NodePredicateBase *condition) const
returns a set of data objects that meet the given condition(s) More...

virtual SetOfObjects::ConstPointer GetSources (const DataNode *node, const NodePredicateBase *condition=nullptr, bool onlyDirectSources=true) const =0
returns a set of source objects for a given node that meet the given condition(s). More...

virtual SetOfObjects::ConstPointer GetDerivations (const DataNode *node, const NodePredicateBase *condition=nullptr, bool onlyDirectDerivations=true) const =0
returns a set of derived objects for a given node. More...

virtual SetOfObjects::ConstPointer GetAll () const =0
returns a set of all data objects that are stored in the data storage More...

DataNodeGetNode (const NodePredicateBase *condition=nullptr) const
Convenience method to get the first node that matches the predicate condition. More...

DataNodeGetNamedNode (const char *name) const
Convenience method to get the first node with a given name. More...

DataNodeGetNamedNode (const std::string name) const
Convenience method to get the first node with a given name. More...

DataNodeGetNamedDerivedNode (const char *name, const DataNode *sourceNode, bool onlyDirectDerivations=true) const
Convenience method to get the first node with a given name that is derived from sourceNode. More...

template<class DataType >
DataType * GetNamedObject (const char *name) const
Convenience method to get the first data object of a given data type with a given name. More...

template<class DataType >
DataType * GetNamedObject (const std::string name) const
Convenience method to get the first data object of a given data type with a given name. More...

template<class DataType >
DataType * GetNamedDerivedObject (const char *name, const DataNode *sourceNode, bool onlyDirectDerivations=true) const
Convenience method to get the first data object of a given data type with a given name that is derived. More...

const DataNode::GroupTagList GetGroupTags () const
Returns a list of used grouptags. More...

TimeGeometry::ConstPointer ComputeBoundingGeometry3D (const SetOfObjects *input, const char *boolPropertyKey=nullptr, const BaseRenderer *renderer=nullptr, const char *boolPropertyKey2=nullptr) const
Compute the axis-parallel bounding geometry of the input objects. More...

TimeGeometry::ConstPointer ComputeBoundingGeometry3D (const char *boolPropertyKey=nullptr, const BaseRenderer *renderer=nullptr, const char *boolPropertyKey2=nullptr) const
Compute the axis-parallel bounding geometry of the data tree (bounding box, minimal spacing of the considered nodes, live-span) More...

TimeGeometry::ConstPointer ComputeVisibleBoundingGeometry3D (const BaseRenderer *renderer=nullptr, const char *boolPropertyKey=nullptr)
Compute the axis-parallel bounding geometry of all visible parts of the data tree bounding box, minimal spacing of the considered nodes, live-span) More...

BoundingBox::Pointer ComputeBoundingBox (const char *boolPropertyKey=nullptr, const BaseRenderer *renderer=nullptr, const char *boolPropertyKey2=nullptr)
Compute the bounding box of data tree structure it -> an iterator to a data tree structure. More...

BoundingBox::Pointer ComputeVisibleBoundingBox (const BaseRenderer *renderer=nullptr, const char *boolPropertyKey=nullptr)
Compute the bounding box of all visible parts of the data tree structure, for general rendering or renderer specific visibility property checking. More...

TimeBounds ComputeTimeBounds (const char *boolPropertyKey, const BaseRenderer *renderer, const char *boolPropertyKey2)
Compute the time-bounds of the contents of a data tree structure. More...

TimeBounds ComputeTimeBounds (const BaseRenderer *renderer, const char *boolPropertyKey)
Compute the time-bounds of all visible parts of the data tree structure, for general rendering or renderer specific visibility property checking. More...

void BlockNodeModifiedEvents (bool block)
Defines whether or not NodeChangedEvent is invoked . More...

## Static Public Member Functions

static const char * GetStaticNameOfClass ()

## Public Attributes

itk::SimpleFastMutexLock m_MutexOne

AddEvent is emitted whenever a new node has been added to the DataStorage. More...

DataStorageEvent RemoveNodeEvent
RemoveEvent is emitted directly before a node is removed from the DataStorage. More...

DataStorageEvent ChangedNodeEvent
ChangedEvent is emitted directly after a node was changed. More...

DataStorageEvent DeleteNodeEvent
DeleteNodeEvent is emitted directly before a node is deleted. More...

DataStorageEvent InteractorChangedNodeEvent

## Protected Member Functions

void EmitAddNodeEvent (const DataNode *node)

void EmitRemoveNodeEvent (const DataNode *node)
EmitRemoveNodeEvent emits the RemoveNodeEvent. More...

void OnNodeInteractorChanged (itk::Object *caller, const itk::EventObject &event)

void OnNodeModifiedOrDeleted (const itk::Object *caller, const itk::EventObject &event)
OnNodeModified listens to modified events of DataNodes. More...

void AddListeners (const DataNode *_Node)
Adds a Modified-Listener to the given Node. More...

void RemoveListeners (const DataNode *_Node)
Removes a Modified-Listener from the given Node. More...

DataStorage ()
Standard Constructor for ::New() instantiation. More...

~DataStorage () override
Standard Destructor. More...

SetOfObjects::ConstPointer FilterSetOfObjects (const SetOfObjects *set, const NodePredicateBase *condition) const
Filters a SetOfObjects by the condition. If no condition is provided, the original set is returned. More...

void PrintSelf (std::ostream &os, itk::Indent indent) const override
Prints the contents of the DataStorage to os. Do not call directly, call ->Print() instead. More...

## Protected Attributes

std::map< const DataNode *, unsigned long > m_NodeModifiedObserverTags
Saves Modified-Observer Tags for each node in order to remove the event listeners again. More...

std::map< const DataNode *, unsigned long > m_NodeInteractorChangedObserverTags

std::map< const DataNode *, unsigned long > m_NodeDeleteObserverTags
Saves Delete-Observer Tags for each node in order to remove the event listeners again. More...

bool m_BlockNodeModifiedEvents
If this class changes nodes itself, set this to TRUE in order to suppress NodeChangedEvent to be emitted. More...

## Detailed Description

Data management class that handles 'was created by' relations.

The DataStorage provides data storage and management functionality. It handles a 'was created by' relation by associating each data object with a set of source objects, that this object was created from. Thus, nodes are stored in a noncyclical directed graph data structure. If a new node is added to the DataStorage, AddNodeEvent is emitted. If a node is removed, RemoveNodeEvent is emitted.

Definition at line 43 of file mitkDataStorage.h.

## ◆ ConstPointer

 typedef itk::SmartPointer mitk::DataStorage::ConstPointer

Definition at line 46 of file mitkDataStorage.h.

## ◆ DataStorageEvent

 typedef Message1 mitk::DataStorage::DataStorageEvent

Definition at line 200 of file mitkDataStorage.h.

## ◆ Pointer

Definition at line 46 of file mitkDataStorage.h.

## ◆ Self

 typedef DataStorage mitk::DataStorage::Self

Definition at line 46 of file mitkDataStorage.h.

## ◆ SetOfObjects

 typedef itk::VectorContainer mitk::DataStorage::SetOfObjects

A Container of objects that is used as a result set of GetSubset() query operations (Set of.

Definition at line 46 of file mitkDataStorage.h.

## ◆ Superclass

 typedef itk::Object mitk::DataStorage::Superclass

Definition at line 46 of file mitkDataStorage.h.

## ◆ DataStorage()

 mitk::DataStorage::DataStorage ( )
protected

Standard Constructor for ::New() instantiation.

Definition at line 25 of file mitkDataStorage.cpp.

## ◆ ~DataStorage()

 mitk::DataStorage::~DataStorage ( )
overrideprotected

Standard Destructor.

Definition at line 29 of file mitkDataStorage.cpp.

## ◆ Add() [1/2]

 virtual void mitk::DataStorage::Add ( DataNode * node, const DataStorage::SetOfObjects * parents = nullptr )
pure virtual

Adds a DataNode containing a data object to its internal storage.

This Method adds a new data object to the DataStorage. The new object is passed in the first parameter. The second parameter is a set of source objects, that were used to create this object. The new object will have a 'was created from' relation to its source objects. the addition of a new object will fire the notification mechanism. If the node parameter is nullptr or if the DataNode has already been added, an exception will be thrown.

Implemented in mitk::StandaloneDataStorage.

## ◆ Add() [2/2]

 void mitk::DataStorage::Add ( DataNode * node, DataNode * parent )

Convenience method to add a node that has one parent.

Definition at line 39 of file mitkDataStorage.cpp.

 void mitk::DataStorage::AddListeners ( const DataNode * _Node )
protected

Adds a Modified-Listener to the given Node.

Definition at line 211 of file mitkDataStorage.cpp.

## ◆ BlockNodeModifiedEvents()

 void mitk::DataStorage::BlockNodeModifiedEvents ( bool block )

Defines whether or not NodeChangedEvent is invoked .

This method can be used to set m_BlockNodeModifiedEvents.

If this flag is true, NodeChangedEvent is not invoked when a DataNode is modified. This might be undesired when setting many properties on a datanode and you do not want anyone to react.

Definition at line 508 of file mitkDataStorage.cpp.

References m_BlockNodeModifiedEvents.

## ◆ ComputeBoundingBox()

 mitk::BoundingBox::Pointer mitk::DataStorage::ComputeBoundingBox ( const char * boolPropertyKey = nullptr, const BaseRenderer * renderer = nullptr, const char * boolPropertyKey2 = nullptr )

Compute the bounding box of data tree structure it -> an iterator to a data tree structure.

Parameters
 boolPropertyKey if a BoolProperty with this boolPropertyKey exists for a node (for renderer) and is set to false, the node is ignored for the bounding-box calculation. renderer see boolPropertyKey boolPropertyKey2 a second condition that is applied additionally to boolPropertyKey

Definition at line 411 of file mitkDataStorage.cpp.

Referenced by mitk::CameraController::SetStandardView().

## ◆ ComputeBoundingGeometry3D() [1/2]

 mitk::TimeGeometry::ConstPointer mitk::DataStorage::ComputeBoundingGeometry3D ( const SetOfObjects * input, const char * boolPropertyKey = nullptr, const BaseRenderer * renderer = nullptr, const char * boolPropertyKey2 = nullptr ) const

Compute the axis-parallel bounding geometry of the input objects.

Throws std::invalid_argument exception if input is nullptr

Parameters
 input set of objects of the DataStorage to be included in the bounding geometry boolPropertyKey if a BoolProperty with this boolPropertyKey exists for a node (for renderer) and is set to false, the node is ignored for the bounding-box calculation. renderer see boolPropertyKey boolPropertyKey2 a second condition that is applied additionally to boolPropertyKey

Definition at line 255 of file mitkDataStorage.cpp.

## ◆ ComputeBoundingGeometry3D() [2/2]

 mitk::TimeGeometry::ConstPointer mitk::DataStorage::ComputeBoundingGeometry3D ( const char * boolPropertyKey = nullptr, const BaseRenderer * renderer = nullptr, const char * boolPropertyKey2 = nullptr ) const

Compute the axis-parallel bounding geometry of the data tree (bounding box, minimal spacing of the considered nodes, live-span)

it -> an iterator to a data tree structure

Parameters
 boolPropertyKey if a BoolProperty with this boolPropertyKey exists for a node (for renderer) and is set to false, the node is ignored for the bounding-box calculation. renderer see boolPropertyKey boolPropertyKey2 a second condition that is applied additionally to boolPropertyKey

Definition at line 398 of file mitkDataStorage.cpp.

References ComputeBoundingGeometry3D(), and GetAll().

## ◆ ComputeTimeBounds() [1/2]

 mitk::TimeBounds mitk::DataStorage::ComputeTimeBounds ( const char * boolPropertyKey, const BaseRenderer * renderer, const char * boolPropertyKey2 )

Compute the time-bounds of the contents of a data tree structure.

The methods returns only [-infinity, +infinity], if all data-objects have an infinite live-span. Otherwise, all data-objects with infinite live-span are ignored. it -> an iterator to a data tree structure

Parameters
 boolPropertyKey if a BoolProperty with this boolPropertyKey exists for a node (for renderer) and is set to false, the node is ignored for the time-bounds calculation. renderer see boolPropertyKey boolPropertyKey2 a second condition that is applied additionally to boolPropertyKey

Definition at line 463 of file mitkDataStorage.cpp.

References GetAll(), mitk::TimeGeometry::GetTimeBounds(), and max().

## ◆ ComputeTimeBounds() [2/2]

 TimeBounds mitk::DataStorage::ComputeTimeBounds ( const BaseRenderer * renderer, const char * boolPropertyKey )
inline

Compute the time-bounds of all visible parts of the data tree structure, for general rendering or renderer specific visibility property checking.

The methods returns only [-infinity, +infinity], if all data-objects have an infinite live-span. Otherwise, all data-objects with infinite live-span are ignored. Simply calls ComputeTimeBounds(it, "visible", renderer, boolPropertyKey).

Parameters
 it an iterator to a data tree structure boolPropertyKey if a BoolProperty with this boolPropertyKey exists for a node (for renderer) and is set to false, the node is ignored for the time-bounds calculation. renderer see boolPropertyKey

Definition at line 358 of file mitkDataStorage.h.

## ◆ ComputeVisibleBoundingBox()

 BoundingBox::Pointer mitk::DataStorage::ComputeVisibleBoundingBox ( const BaseRenderer * renderer = nullptr, const char * boolPropertyKey = nullptr )
inline

Compute the bounding box of all visible parts of the data tree structure, for general rendering or renderer specific visibility property checking.

Simply calls ComputeBoundingBox(it, "visible", renderer, boolPropertyKey). it -> an iterator of a data tree structure

Parameters
 renderer the reference to the renderer boolPropertyKey if a BoolProperty with this boolPropertyKey exists for a node (for renderer) and is set to false, the node is ignored for the bounding-box calculation.

Definition at line 327 of file mitkDataStorage.h.

## ◆ ComputeVisibleBoundingGeometry3D()

 mitk::TimeGeometry::ConstPointer mitk::DataStorage::ComputeVisibleBoundingGeometry3D ( const BaseRenderer * renderer = nullptr, const char * boolPropertyKey = nullptr )

Compute the axis-parallel bounding geometry of all visible parts of the data tree bounding box, minimal spacing of the considered nodes, live-span)

Simply calls ComputeBoundingGeometry3D(it, "visible", renderer, boolPropertyKey). it -> an iterator of a data tree structure

Parameters
 renderer the reference to the renderer boolPropertyKey if a BoolProperty with this boolPropertyKey exists for a node (for renderer) and is set to false, the node is ignored for the bounding-box calculation.

Definition at line 405 of file mitkDataStorage.cpp.

References ComputeBoundingGeometry3D().

 void mitk::DataStorage::EmitAddNodeEvent ( const DataNode * node )
protected

This method should be called by subclasses to emit the AddNodeEvent

Definition at line 176 of file mitkDataStorage.cpp.

References AddNodeEvent, and mitk::Message1< T, A >::Send().

## ◆ EmitRemoveNodeEvent()

 void mitk::DataStorage::EmitRemoveNodeEvent ( const DataNode * node )
protected

EmitRemoveNodeEvent emits the RemoveNodeEvent.

This method should be called by subclasses to emit the RemoveNodeEvent

Definition at line 181 of file mitkDataStorage.cpp.

References RemoveNodeEvent, and mitk::Message1< T, A >::Send().

Referenced by mitk::StandaloneDataStorage::Remove().

## ◆ Exists()

 virtual bool mitk::DataStorage::Exists ( const DataNode * node ) const
pure virtual

Checks if a node exists in the DataStorage.

Implemented in mitk::StandaloneDataStorage.

## ◆ FilterSetOfObjects()

 mitk::DataStorage::SetOfObjects::ConstPointer mitk::DataStorage::FilterSetOfObjects ( const SetOfObjects * set, const NodePredicateBase * condition ) const
protected

Filters a SetOfObjects by the condition. If no condition is provided, the original set is returned.

Definition at line 140 of file mitkDataStorage.cpp.

References mitk::NodePredicateBase::CheckNode().

Referenced by mitk::StandaloneDataStorage::GetRelations(), and GetSubset().

## ◆ GetAll()

 virtual SetOfObjects::ConstPointer mitk::DataStorage::GetAll ( ) const
pure virtual

returns a set of all data objects that are stored in the data storage

Implemented in mitk::StandaloneDataStorage.

## ◆ GetClassHierarchy()

 virtual std::vector mitk::DataStorage::GetClassHierarchy ( ) const
inlinevirtual

Reimplemented in mitk::StandaloneDataStorage.

Definition at line 46 of file mitkDataStorage.h.

## ◆ GetClassName()

 virtual const char* mitk::DataStorage::GetClassName ( ) const
virtual

Reimplemented in mitk::StandaloneDataStorage.

## ◆ GetDerivations()

 virtual SetOfObjects::ConstPointer mitk::DataStorage::GetDerivations ( const DataNode * node, const NodePredicateBase * condition = nullptr, bool onlyDirectDerivations = true ) const
pure virtual

returns a set of derived objects for a given node.

GetDerivations() returns a set of objects that are derived from the DataNode node. This means, that node was used to create the returned objects. If the parameter onlyDirectDerivations is set to true (default value), only objects that directly have node as one of their source objects will be returned. Otherwise, objects that are derived from derivations of node are returned too. The derived objects can be filtered with a predicate object as described in the GetSubset() method by providing a predicate as the condition parameter.

Implemented in mitk::StandaloneDataStorage.

## ◆ GetGroupTags()

 const mitk::DataNode::GroupTagList mitk::DataStorage::GetGroupTags ( ) const

Returns a list of used grouptags.

Definition at line 156 of file mitkDataStorage.cpp.

References GetAll(), and mitk::PropertyList::GetMap().

Referenced by TestDataStorage().

## ◆ GetNamedDerivedNode()

 mitk::DataNode * mitk::DataStorage::GetNamedDerivedNode ( const char * name, const DataNode * sourceNode, bool onlyDirectDerivations = true ) const

Convenience method to get the first node with a given name that is derived from sourceNode.

Definition at line 88 of file mitkDataStorage.cpp.

Referenced by TestDataStorage().

## ◆ GetNamedDerivedObject()

template<class DataType >
 DataType* mitk::DataStorage::GetNamedDerivedObject ( const char * name, const DataNode * sourceNode, bool onlyDirectDerivations = true ) const
inline

Convenience method to get the first data object of a given data type with a given name that is derived.

Definition at line 178 of file mitkDataStorage.h.

References mitk::DataNode::GetData().

## ◆ GetNamedNode() [1/2]

 mitk::DataNode * mitk::DataStorage::GetNamedNode ( const char * name ) const

Convenience method to get the first node with a given name.

Definition at line 61 of file mitkDataStorage.cpp.

## ◆ GetNamedNode() [2/2]

 DataNode* mitk::DataStorage::GetNamedNode ( const std::string name ) const
inline

Convenience method to get the first node with a given name.

Definition at line 142 of file mitkDataStorage.h.

References GetNamedNode().

Referenced by GetNamedNode().

## ◆ GetNamedObject() [1/2]

template<class DataType >
 DataType* mitk::DataStorage::GetNamedObject ( const char * name ) const
inline

Convenience method to get the first data object of a given data type with a given name.

Definition at line 154 of file mitkDataStorage.h.

References mitk::DataNode::GetData().

Referenced by QmitkAdaptiveRegionGrowingToolGUI::ConfirmSegmentation(), and TestDataStorage().

## ◆ GetNamedObject() [2/2]

template<class DataType >
 DataType* mitk::DataStorage::GetNamedObject ( const std::string name ) const
inline

Convenience method to get the first data object of a given data type with a given name.

Definition at line 168 of file mitkDataStorage.h.

## ◆ GetNode()

 mitk::DataNode * mitk::DataStorage::GetNode ( const NodePredicateBase * condition = nullptr ) const

Convenience method to get the first node that matches the predicate condition.

Definition at line 76 of file mitkDataStorage.cpp.

References GetSubset().

Referenced by TestDataStorage().

## ◆ GetSources()

 virtual SetOfObjects::ConstPointer mitk::DataStorage::GetSources ( const DataNode * node, const NodePredicateBase * condition = nullptr, bool onlyDirectSources = true ) const
pure virtual

returns a set of source objects for a given node that meet the given condition(s).

Implemented in mitk::StandaloneDataStorage.

Referenced by PrintSelf(), mitk::SceneIO::SaveScene(), and TestDataStorage().

## ◆ GetStaticNameOfClass()

 static const char* mitk::DataStorage::GetStaticNameOfClass ( )
inlinestatic

Definition at line 46 of file mitkDataStorage.h.

## ◆ GetSubset()

 mitk::DataStorage::SetOfObjects::ConstPointer mitk::DataStorage::GetSubset ( const NodePredicateBase * condition ) const

returns a set of data objects that meet the given condition(s)

GetSubset returns a set of objects with a specific data type that meet the condition(s) specified in the condition parameter. Conditions can be

• data type of the data object
• is source object of specific object (e.g. all source objects of node x)
• has property with specific value (e.g. OrganType is Liver)
• negation of any condition
• conjunction of a set of conditions
• disjunction of a set of conditions Conditions are implemented as predicates using the Composite Design Pattern (see definition of NodePredicateBase for details). The method returns a set of SmartPointers to the DataNodes that fulfill the conditions. A set of all objects can be retrieved with the GetAll() method;

Definition at line 55 of file mitkDataStorage.cpp.

References FilterSetOfObjects(), and GetAll().

## ◆ OnNodeInteractorChanged()

 void mitk::DataStorage::OnNodeInteractorChanged ( itk::Object * caller, const itk::EventObject & event )
protected

Definition at line 186 of file mitkDataStorage.cpp.

References InteractorChangedNodeEvent, and mitk::Message1< T, A >::Send().

## ◆ OnNodeModifiedOrDeleted()

 void mitk::DataStorage::OnNodeModifiedOrDeleted ( const itk::Object * caller, const itk::EventObject & event )
protected

OnNodeModified listens to modified events of DataNodes.

The node is hidden behind the caller parameter, which has to be casted first. If the cast succeeds the ChangedNodeEvent is emitted with this node.

Definition at line 195 of file mitkDataStorage.cpp.

## ◆ PrintSelf()

 void mitk::DataStorage::PrintSelf ( std::ostream & os, itk::Indent indent ) const
overrideprotected

Prints the contents of the DataStorage to os. Do not call directly, call ->Print() instead.

Definition at line 104 of file mitkDataStorage.cpp.

References GetAll(), GetDerivations(), and GetSources().

Referenced by mitk::StandaloneDataStorage::PrintSelf().

## ◆ Remove() [2/2]

 void mitk::DataStorage::Remove ( const DataStorage::SetOfObjects * nodes )

Removes a set of nodes from the DataStorage.

Definition at line 47 of file mitkDataStorage.cpp.

References Remove().

## ◆ RemoveListeners()

 void mitk::DataStorage::RemoveListeners ( const DataNode * _Node )
protected

Removes a Modified-Listener from the given Node.

Definition at line 236 of file mitkDataStorage.cpp.

## Member Data Documentation

AddEvent is emitted whenever a new node has been added to the DataStorage.

Observers should register to this event by calling myDataStorage->AddNodeEvent.AddListener(myObject,

Definition at line 215 of file mitkDataStorage.h.

## ◆ ChangedNodeEvent

 DataStorageEvent mitk::DataStorage::ChangedNodeEvent

ChangedEvent is emitted directly after a node was changed.

Observers should register to this event by calling myDataStorage->ChangedNodeEvent.AddListener(myObject,

Definition at line 248 of file mitkDataStorage.h.

Referenced by OnNodeModifiedOrDeleted(), and QmitkAbstractDataStorageModel::SetDataStorage().

## ◆ DeleteNodeEvent

 DataStorageEvent mitk::DataStorage::DeleteNodeEvent

DeleteNodeEvent is emitted directly before a node is deleted.

Observers should register to this event by calling myDataStorage->DeleteNodeEvent.AddListener(myObject,

Definition at line 264 of file mitkDataStorage.h.

Referenced by OnNodeModifiedOrDeleted().

## ◆ InteractorChangedNodeEvent

 DataStorageEvent mitk::DataStorage::InteractorChangedNodeEvent

Definition at line 266 of file mitkDataStorage.h.

Referenced by OnNodeInteractorChanged().

## ◆ m_BlockNodeModifiedEvents

 bool mitk::DataStorage::m_BlockNodeModifiedEvents
protected

If this class changes nodes itself, set this to TRUE in order to suppress NodeChangedEvent to be emitted.

Definition at line 417 of file mitkDataStorage.h.

Referenced by BlockNodeModifiedEvents(), and OnNodeModifiedOrDeleted().

## ◆ m_MutexOne

 itk::SimpleFastMutexLock mitk::DataStorage::m_MutexOne
mutable

Definition at line 197 of file mitkDataStorage.h.

Referenced by AddListeners(), and RemoveListeners().

## ◆ m_NodeDeleteObserverTags

 std::map mitk::DataStorage::m_NodeDeleteObserverTags
protected

Saves Delete-Observer Tags for each node in order to remove the event listeners again.

Definition at line 412 of file mitkDataStorage.h.

Referenced by AddListeners(), and RemoveListeners().

## ◆ m_NodeInteractorChangedObserverTags

 std::map mitk::DataStorage::m_NodeInteractorChangedObserverTags
protected

Definition at line 408 of file mitkDataStorage.h.

Referenced by AddListeners(), and RemoveListeners().

## ◆ m_NodeModifiedObserverTags

 std::map mitk::DataStorage::m_NodeModifiedObserverTags
protected

Saves Modified-Observer Tags for each node in order to remove the event listeners again.

Definition at line 406 of file mitkDataStorage.h.

Referenced by AddListeners(), and RemoveListeners().

## ◆ RemoveNodeEvent

 DataStorageEvent mitk::DataStorage::RemoveNodeEvent

RemoveEvent is emitted directly before a node is removed from the DataStorage.

Observers should register to this event by calling myDataStorage->RemoveNodeEvent.AddListener(myObject,

Definition at line 232 of file mitkDataStorage.h.

The documentation for this class was generated from the following files: