#include <mitkSceneReader.h>
Public Types | |
typedef SceneReader | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer < const Self > | ConstPointer |
Public Member Functions | |
virtual const char * | GetClassName () const |
virtual bool | LoadScene (TiXmlDocument &document, const std::string &workingDirectory, DataStorage *storage) |
Static Public Member Functions | |
static Pointer | New () |
Definition at line 29 of file mitkSceneReader.h.
typedef itk::SmartPointer<const Self> mitk::SceneReader::ConstPointer |
Reimplemented in mitk::SceneReaderV1.
Definition at line 33 of file mitkSceneReader.h.
typedef itk::SmartPointer<Self> mitk::SceneReader::Pointer |
Reimplemented in mitk::SceneReaderV1.
Definition at line 33 of file mitkSceneReader.h.
typedef SceneReader mitk::SceneReader::Self |
Reimplemented in mitk::SceneReaderV1.
Definition at line 33 of file mitkSceneReader.h.
typedef itk::Object mitk::SceneReader::Superclass |
Reimplemented in mitk::SceneReaderV1.
Definition at line 33 of file mitkSceneReader.h.
virtual const char* mitk::SceneReader::GetClassName | ( | ) | const [virtual] |
Reimplemented in mitk::SceneReaderV1.
bool mitk::SceneReader::LoadScene | ( | TiXmlDocument & | document, |
const std::string & | workingDirectory, | ||
DataStorage * | storage | ||
) | [virtual] |
Reimplemented in mitk::SceneReaderV1.
Definition at line 20 of file mitkSceneReader.cpp.
References TiXmlNode::FirstChildElement(), MITK_ERROR, MITK_WARN, TiXmlElement::QueryIntAttribute(), and TIXML_SUCCESS.
{ // find version node --> note version in some variable int fileVersion = 1; TiXmlElement* versionObject = document.FirstChildElement("Version"); if (versionObject) { if ( versionObject->QueryIntAttribute( "FileVersion", &fileVersion ) != TIXML_SUCCESS ) { MITK_ERROR << "Scene file " << workingDirectory + "/index.xml" << " does not contain version information! Trying version 1 format." << std::endl; } } std::stringstream sceneReaderClassName; sceneReaderClassName << "SceneReaderV" << fileVersion; std::list<itk::LightObject::Pointer> sceneReaders = itk::ObjectFactoryBase::CreateAllInstance(sceneReaderClassName.str().c_str()); if (sceneReaders.size() < 1) { MITK_ERROR << "No scene reader found for scene file version " << fileVersion; } if (sceneReaders.size() > 1) { MITK_WARN << "Multiple scene readers found for scene file version " << fileVersion << ". Using arbitrary first one."; } for ( std::list<itk::LightObject::Pointer>::iterator iter = sceneReaders.begin(); iter != sceneReaders.end(); ++iter ) { if (SceneReader* reader = dynamic_cast<SceneReader*>( iter->GetPointer() ) ) { if ( !reader->LoadScene( document, workingDirectory, storage ) ) { MITK_ERROR << "There were errors while loding scene file " << workingDirectory + "/index.xml. Your data may be corrupted"; return false; } else { return true; } } } return false; }
static Pointer mitk::SceneReader::New | ( | ) | [static] |
Reimplemented in mitk::SceneReaderV1.
Referenced by mitk::SceneIO::LoadScene().