This class offers methods to save an object of the class NavigationToolStorage to the harddisc. More...
#include <mitkNavigationToolStorageSerializer.h>
Public Types | |
typedef NavigationToolStorageSerializer | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer < const Self > | ConstPointer |
Public Member Functions | |
virtual const char * | GetClassName () const |
bool | Serialize (std::string filename, mitk::NavigationToolStorage::Pointer storage) |
Saves a mitk navigation tool storage to a file. | |
virtual std::string | GetErrorMessage () |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
NavigationToolStorageSerializer () | |
~NavigationToolStorageSerializer () | |
Protected Attributes | |
std::string | m_ErrorMessage |
This class offers methods to save an object of the class NavigationToolStorage to the harddisc.
Documentation
Definition at line 36 of file mitkNavigationToolStorageSerializer.h.
typedef itk::SmartPointer<const Self> mitk::NavigationToolStorageSerializer::ConstPointer |
Definition at line 40 of file mitkNavigationToolStorageSerializer.h.
typedef itk::SmartPointer<Self> mitk::NavigationToolStorageSerializer::Pointer |
Definition at line 40 of file mitkNavigationToolStorageSerializer.h.
Definition at line 40 of file mitkNavigationToolStorageSerializer.h.
typedef itk::Object mitk::NavigationToolStorageSerializer::Superclass |
Definition at line 40 of file mitkNavigationToolStorageSerializer.h.
mitk::NavigationToolStorageSerializer::NavigationToolStorageSerializer | ( | ) | [protected] |
Definition at line 27 of file mitkNavigationToolStorageSerializer.cpp.
{ }
mitk::NavigationToolStorageSerializer::~NavigationToolStorageSerializer | ( | ) | [protected] |
Definition at line 32 of file mitkNavigationToolStorageSerializer.cpp.
{ }
virtual const char* mitk::NavigationToolStorageSerializer::GetClassName | ( | ) | const [virtual] |
virtual std::string mitk::NavigationToolStorageSerializer::GetErrorMessage | ( | ) | [virtual] |
static Pointer mitk::NavigationToolStorageSerializer::New | ( | ) | [static] |
Referenced by QmitkNavigationToolManagementWidget::OnSaveStorage().
bool mitk::NavigationToolStorageSerializer::Serialize | ( | std::string | filename, |
mitk::NavigationToolStorage::Pointer | storage | ||
) |
Saves a mitk navigation tool storage to a file.
Definition at line 37 of file mitkNavigationToolStorageSerializer.cpp.
References mitk::StandardFileLocations::GetInstance(), mitk::StandardFileLocations::GetOptionDirectory(), mitk::SceneIO::New(), mitk::NavigationToolWriter::New(), and mitk::StandaloneDataStorage::New().
{ //convert whole data to a mitk::DataStorage mitk::StandaloneDataStorage::Pointer saveStorage = mitk::StandaloneDataStorage::New(); mitk::NavigationToolWriter::Pointer myToolWriter = mitk::NavigationToolWriter::New(); for(int i=0; i<storage->GetToolCount();i++) { mitk::DataNode::Pointer thisTool = myToolWriter->ConvertToDataNode(storage->GetTool(i)); saveStorage->Add(thisTool); } //use SceneSerialization to save the DataStorage std::string DataStorageFileName = mitk::StandardFileLocations::GetInstance()->GetOptionDirectory() + "\\" + myToolWriter->GetFileWithoutPath(filename) + ".storage"; mitk::SceneIO::Pointer mySceneIO = mitk::SceneIO::New(); mySceneIO->SaveScene(saveStorage->GetAll(),saveStorage,DataStorageFileName); //then put the storage and the toolfiles into a zip-archive std::ofstream file( filename.c_str(), std::ios::binary | std::ios::out); if (!file.good()) { m_ErrorMessage = "Could not open a zip file for writing: '" + filename + "'"; return false; } else { Poco::Zip::Compress zipper( file, true ); zipper.addFile(DataStorageFileName,myToolWriter->GetFileWithoutPath(DataStorageFileName)); for (int i=0; i<storage->GetToolCount();i++) { //check if filename already exits for (int j=0; j<i; j++) if (myToolWriter->GetFileWithoutPath(storage->GetTool(i)->GetCalibrationFile()) == myToolWriter->GetFileWithoutPath(storage->GetTool(j)->GetCalibrationFile())) break; zipper.addFile(storage->GetTool(i)->GetCalibrationFile(),myToolWriter->GetFileWithoutPath(storage->GetTool(i)->GetCalibrationFile())); } zipper.close(); } return true; }
std::string mitk::NavigationToolStorageSerializer::m_ErrorMessage [protected] |
Definition at line 55 of file mitkNavigationToolStorageSerializer.h.