Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::SceneReaderV1 Class Reference

Version 1 implementation of the MITK scene reader. More...

#include <mitkSceneReaderV1.h>

Inheritance diagram for mitk::SceneReaderV1:
Collaboration diagram for mitk::SceneReaderV1:

Public Member Functions

 mitkClassMacro (SceneReaderV1, SceneReader)
 
Pointer Clone () const
 
bool LoadScene (tinyxml2::XMLDocument &document, const std::string &workingDirectory, DataStorage *storage) override
 Load a scene from an XML document into the given DataStorage. More...
 
- Public Member Functions inherited from mitk::SceneReader
 mitkClassMacroItkParent (SceneReader, itk::Object)
 
Pointer Clone () const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from mitk::SceneReader
static Pointer New ()
 

Protected Types

typedef std::pair< DataNode::Pointer, std::list< std::string > > NodesAndParentsPair
 
typedef std::list< NodesAndParentsPair > OrderedNodesList
 
typedef std::map< std::string, DataNode * > IDToNodeMappingType
 
typedef std::map< DataNode *, std::string > NodeToIDMappingType
 

Protected Member Functions

DataNode::Pointer LoadBaseDataFromDataTag (const tinyxml2::XMLElement *dataElement, const PropertyList *properties, const std::string &workingDirectory, bool &error)
 tries to create one DataNode from a given XML <node> element More...
 
bool DecorateNodeWithProperties (DataNode *node, const tinyxml2::XMLElement *nodeElement, const std::string &workingDirectory)
 reads all the properties from the XML document and recreates them in node More...
 
void ClearNodePropertyListWithExceptions (DataNode &node, PropertyList &propertyList)
 Clear a default property list and handle some exceptions. More...
 

Protected Attributes

OrderedNodesList m_OrderedNodePairs
 
IDToNodeMappingType m_NodeForID
 
NodeToIDMappingType m_IDForNode
 
UIDGenerator m_UIDGen
 

Detailed Description

Version 1 implementation of the MITK scene reader.

Reads MITK scene files (version 1 format) from an XML document and populates a DataStorage with the deserialized nodes, data, and properties.

Definition at line 32 of file mitkSceneReaderV1.h.

Member Typedef Documentation

◆ IDToNodeMappingType

typedef std::map<std::string, DataNode *> mitk::SceneReaderV1::IDToNodeMappingType
protected

Definition at line 80 of file mitkSceneReaderV1.h.

◆ NodesAndParentsPair

typedef std::pair<DataNode::Pointer, std::list<std::string> > mitk::SceneReaderV1::NodesAndParentsPair
protected

Definition at line 78 of file mitkSceneReaderV1.h.

◆ NodeToIDMappingType

typedef std::map<DataNode *, std::string> mitk::SceneReaderV1::NodeToIDMappingType
protected

Definition at line 81 of file mitkSceneReaderV1.h.

◆ OrderedNodesList

Definition at line 79 of file mitkSceneReaderV1.h.

Member Function Documentation

◆ ClearNodePropertyListWithExceptions()

void mitk::SceneReaderV1::ClearNodePropertyListWithExceptions ( DataNode &  node,
PropertyList &  propertyList 
)
protected

Clear a default property list and handle some exceptions.

Called after assigning a BaseData object to a fresh DataNode via SetData(). This call to SetData() would create default properties that have not been there when saving the scene. Since they can produce problems, we clear the list and use only those properties that we read from the scene file.

This method also handles some exceptions for backwards compatibility. Those exceptions are documented directly in the code of the method.

◆ Clone()

Pointer mitk::SceneReaderV1::Clone ( ) const

◆ DecorateNodeWithProperties()

bool mitk::SceneReaderV1::DecorateNodeWithProperties ( DataNode *  node,
const tinyxml2::XMLElement *  nodeElement,
const std::string &  workingDirectory 
)
protected

reads all the properties from the XML document and recreates them in node

◆ LoadBaseDataFromDataTag()

DataNode::Pointer mitk::SceneReaderV1::LoadBaseDataFromDataTag ( const tinyxml2::XMLElement *  dataElement,
const PropertyList *  properties,
const std::string &  workingDirectory,
bool &  error 
)
protected

tries to create one DataNode from a given XML <node> element

◆ LoadScene()

bool mitk::SceneReaderV1::LoadScene ( tinyxml2::XMLDocument &  document,
const std::string &  workingDirectory,
DataStorage *  storage 
)
overridevirtual

Load a scene from an XML document into the given DataStorage.

Parameters
documentThe XML document containing the scene definition.
workingDirectoryThe directory containing serialized data files.
storageThe DataStorage to populate with loaded nodes.
Returns
true if the scene was loaded successfully.

Reimplemented from mitk::SceneReader.

◆ mitkClassMacro()

mitk::SceneReaderV1::mitkClassMacro ( SceneReaderV1  ,
SceneReader   
)

◆ New()

static Pointer mitk::SceneReaderV1::New ( )
static

Member Data Documentation

◆ m_IDForNode

NodeToIDMappingType mitk::SceneReaderV1::m_IDForNode
protected

Definition at line 85 of file mitkSceneReaderV1.h.

◆ m_NodeForID

IDToNodeMappingType mitk::SceneReaderV1::m_NodeForID
protected

Definition at line 84 of file mitkSceneReaderV1.h.

◆ m_OrderedNodePairs

OrderedNodesList mitk::SceneReaderV1::m_OrderedNodePairs
protected

Definition at line 83 of file mitkSceneReaderV1.h.

◆ m_UIDGen

UIDGenerator mitk::SceneReaderV1::m_UIDGen
protected

Definition at line 87 of file mitkSceneReaderV1.h.


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