Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitk::SceneReaderV1 Class Reference

#include <mitkSceneReaderV1.h>

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

Public Member Functions

 mitkClassMacro (SceneReaderV1, SceneReader)
 
Pointer Clone () const
 
bool LoadScene (TiXmlDocument &document, const std::string &workingDirectory, DataStorage *storage) override
 
- 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< NodesAndParentsPairOrderedNodesList
 
typedef std::map< std::string, DataNode * > IDToNodeMappingType
 
typedef std::map< DataNode *, std::string > NodeToIDMappingType
 

Protected Member Functions

DataNode::Pointer LoadBaseDataFromDataTag (TiXmlElement *dataElement, const std::string &workingDirectory, bool &error)
 tries to create one DataNode from a given XML <node> element More...
 
bool DecorateNodeWithProperties (DataNode *node, TiXmlElement *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...
 
bool DecorateBaseDataWithProperties (BaseData::Pointer data, TiXmlElement *baseDataNodeElem, const std::string &workingDir)
 reads all properties assigned to a base data element and assigns the list to the base data object More...
 

Protected Attributes

OrderedNodesList m_OrderedNodePairs
 
IDToNodeMappingType m_NodeForID
 
NodeToIDMappingType m_IDForNode
 
UIDGenerator m_UIDGen
 

Detailed Description

Definition at line 17 of file mitkSceneReaderV1.h.

Member Typedef Documentation

◆ IDToNodeMappingType

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

Definition at line 65 of file mitkSceneReaderV1.h.

◆ NodesAndParentsPair

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

Definition at line 63 of file mitkSceneReaderV1.h.

◆ NodeToIDMappingType

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

Definition at line 66 of file mitkSceneReaderV1.h.

◆ OrderedNodesList

Definition at line 64 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.

Definition at line 284 of file mitkSceneReaderV1.cpp.

References mitk::PropertyList::Clear(), mitk::PropertyList::ConcatenatePropertyList(), mitk::DataNode::GetData(), mitk::PropertyList::GetProperty(), and mitk::PropertyList::New().

Referenced by DecorateNodeWithProperties().

◆ Clone()

Pointer mitk::SceneReaderV1::Clone ( ) const

◆ DecorateBaseDataWithProperties()

bool mitk::SceneReaderV1::DecorateBaseDataWithProperties ( BaseData::Pointer  data,
TiXmlElement *  baseDataNodeElem,
const std::string &  workingDir 
)
protected

reads all properties assigned to a base data element and assigns the list to the base data object

The baseDataNodeElem is supposed to be the <properties file="..."> element.

Definition at line 377 of file mitkSceneReaderV1.cpp.

References MITK_ERROR, and mitk::PropertyListDeserializer::New().

Referenced by LoadScene().

◆ DecorateNodeWithProperties()

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

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

Definition at line 333 of file mitkSceneReaderV1.cpp.

References ClearNodePropertyListWithExceptions(), mitk::DataNode::GetPropertyList(), MITK_ERROR, and mitk::PropertyListDeserializer::New().

Referenced by LoadScene().

◆ LoadBaseDataFromDataTag()

mitk::DataNode::Pointer mitk::SceneReaderV1::LoadBaseDataFromDataTag ( TiXmlElement *  dataElement,
const std::string &  workingDirectory,
bool &  error 
)
protected

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

Definition at line 240 of file mitkSceneReaderV1.cpp.

References mitk::IOUtil::Load(), MITK_ERROR, MITK_WARN, and mitk::DataNode::New().

Referenced by LoadScene().

◆ LoadScene()

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

◆ 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 70 of file mitkSceneReaderV1.h.

Referenced by LoadScene().

◆ m_NodeForID

IDToNodeMappingType mitk::SceneReaderV1::m_NodeForID
protected

Definition at line 69 of file mitkSceneReaderV1.h.

Referenced by LoadScene().

◆ m_OrderedNodePairs

OrderedNodesList mitk::SceneReaderV1::m_OrderedNodePairs
protected

Definition at line 68 of file mitkSceneReaderV1.h.

Referenced by LoadScene().

◆ m_UIDGen

UIDGenerator mitk::SceneReaderV1::m_UIDGen
protected

Definition at line 72 of file mitkSceneReaderV1.h.


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