1 #include "MementoState.h"
3 #include <vtkMetaImageReader.h>
4 #include <vtkMetaImageWriter.h>
7 // -------------------------------------------------------------------------
8 MementoState::MementoState()
13 // -------------------------------------------------------------------------
14 MementoState::MementoState(long id, TPluginImage* _img)
16 char base[] = "state";
17 std::ostringstream oss;
19 std::string str = oss.str();
20 auto complement = str.c_str();
22 std::string fileName(base);
23 fileName.append(complement);
24 fileName.append(".mhd");
26 std::string fileNameRaw(base);
27 fileNameRaw.append(complement);
28 fileNameRaw.append(".raw");
29 save(fileName, fileNameRaw, _img);
32 // -------------------------------------------------------------------------
33 vtkSmartPointer<vtkMetaImageReader>
34 MementoState::getMemento(long id)
36 char base[] = "state";
37 std::ostringstream oss;
39 std::string str = oss.str();
40 auto complement = str.c_str();
42 std::string fileName(base);
43 fileName.append(complement);
44 fileName.append(".mhd");
45 return load(fileName);
48 // -------------------------------------------------------------------------
50 save(const std::string& filename, const std::string& filenameRaw, TPluginImage* img) {
52 vtkSmartPointer<vtkMetaImageWriter> writer =
53 vtkSmartPointer<vtkMetaImageWriter>::New();
54 writer->SetInputData(img->GetVTK< vtkImageData >());
55 writer->SetFileName(filename.c_str());
56 writer->SetRAWFileName(filenameRaw.c_str());
61 // -------------------------------------------------------------------------
62 vtkSmartPointer<vtkMetaImageReader>
63 MementoState::load(const std::string& filename) {
65 vtkSmartPointer<vtkMetaImageReader> reader =
66 vtkSmartPointer<vtkMetaImageReader>::New();
67 reader->SetFileName(filename.c_str());