#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().
1.7.2