Serializes mitk::Surface for mitk::SceneIO. More...
#include <mitkSurfaceSerializer.h>


Public Member Functions | |
| mitkClassMacro (SurfaceSerializer, BaseDataSerializer) | |
| virtual std::string | Serialize () |
| Serializes given BaseData object. | |
Static Public Member Functions | |
| static Pointer | New () |
Protected Member Functions | |
| SurfaceSerializer () | |
| virtual | ~SurfaceSerializer () |
Serializes mitk::Surface for mitk::SceneIO.
Definition at line 31 of file mitkSurfaceSerializer.h.
| mitk::SurfaceSerializer::SurfaceSerializer | ( | ) | [protected] |
Definition at line 27 of file mitkSurfaceSerializer.cpp.
{
}
| mitk::SurfaceSerializer::~SurfaceSerializer | ( | ) | [protected, virtual] |
Definition at line 31 of file mitkSurfaceSerializer.cpp.
{
}
| mitk::SurfaceSerializer::mitkClassMacro | ( | SurfaceSerializer | , |
| BaseDataSerializer | |||
| ) |
| static Pointer mitk::SurfaceSerializer::New | ( | ) | [static] |
| std::string mitk::SurfaceSerializer::Serialize | ( | ) | [virtual] |
Serializes given BaseData object.
This should be overwritten by specific sub-classes.
Reimplemented from mitk::BaseDataSerializer.
Definition at line 35 of file mitkSurfaceSerializer.cpp.
References MITK_ERROR, mitk::SurfaceVtkWriter< VTKWRITER >::New(), mitk::SurfaceVtkWriter< VTKWRITER >::SetFileName(), mitk::SurfaceVtkWriter< VTKWRITER >::SetInput(), and mitk::SurfaceVtkWriter< VTKWRITER >::Write().
{
const Surface* surface = dynamic_cast<const Surface*>( m_Data.GetPointer() );
if (!surface)
{
MITK_ERROR << " Object at " << (const void*) this->m_Data
<< " is not an mitk::Surface. Cannot serialize as surface.";
return "";
}
std::string filename( this->GetUniqueFilenameInWorkingDirectory() );
filename += "_";
filename += m_FilenameHint;
filename += ".vtp";
std::string fullname(m_WorkingDirectory);
fullname += Poco::Path::separator();
fullname += filename;
try
{
SurfaceVtkWriter<vtkXMLPolyDataWriter>::Pointer writer = SurfaceVtkWriter<vtkXMLPolyDataWriter>::New();
writer->SetFileName( fullname );
//writer->SetExtension(".vtp");
writer->SetInput( const_cast<Surface*>( surface ) );
writer->Write();
}
catch (std::exception& e)
{
MITK_ERROR << " Error serializing object at " << (const void*) this->m_Data
<< " to "
<< fullname
<< ": "
<< e.what();
return "";
}
return filename;
}
1.7.2