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; }