Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

mitk::NavigationToolStorageSerializer Class Reference

This class offers methods to save an object of the class NavigationToolStorage to the harddisc. More...

#include <mitkNavigationToolStorageSerializer.h>

List of all members.

Public Types

typedef
NavigationToolStorageSerializer 
Self
typedef itk::Object Superclass
typedef itk::SmartPointer< SelfPointer
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

Detailed Description

This class offers methods to save an object of the class NavigationToolStorage to the harddisc.

Documentation

Definition at line 36 of file mitkNavigationToolStorageSerializer.h.


Member Typedef Documentation

Definition at line 40 of file mitkNavigationToolStorageSerializer.h.

Definition at line 40 of file mitkNavigationToolStorageSerializer.h.

Definition at line 40 of file mitkNavigationToolStorageSerializer.h.

Definition at line 40 of file mitkNavigationToolStorageSerializer.h.


Constructor & Destructor Documentation

mitk::NavigationToolStorageSerializer::NavigationToolStorageSerializer (  ) [protected]

Definition at line 27 of file mitkNavigationToolStorageSerializer.cpp.

  {

  }
mitk::NavigationToolStorageSerializer::~NavigationToolStorageSerializer (  ) [protected]

Definition at line 32 of file mitkNavigationToolStorageSerializer.cpp.

  {

  }

Member Function Documentation

virtual const char* mitk::NavigationToolStorageSerializer::GetClassName (  ) const [virtual]
virtual std::string mitk::NavigationToolStorageSerializer::GetErrorMessage (  ) [virtual]
static Pointer mitk::NavigationToolStorageSerializer::New (  ) [static]
bool mitk::NavigationToolStorageSerializer::Serialize ( std::string  filename,
mitk::NavigationToolStorage::Pointer  storage 
)

Saves a mitk navigation tool storage to a file.

Returns:
Returns true if the file was saved successfully. False if not.

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

Member Data Documentation

Definition at line 55 of file mitkNavigationToolStorageSerializer.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines