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.
1.7.2