]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/IO/MementoState.cxx
Merge branch 'master' of ssh://git.creatis.insa-lyon.fr/cpPlugins
[cpPlugins.git] / lib / cpExtensions / IO / MementoState.cxx
1 #include <cpExtensions/IO/MementoState.h>
2
3
4 #include <vtkMetaImageReader.h>
5 #include <vtkMetaImageWriter.h>
6
7
8 // -------------------------------------------------------------------------
9 cpExtensions::IO::MementoState::MementoState()
10 {
11         m_Id = 0;
12 };
13
14 // -------------------------------------------------------------------------
15 //cpExtensions::IO::MementoState::MementoState(long id, TPluginImage* _img)
16 //{
17 //  SetToMemento(_img);
18 //}
19 //
20 //bool
21 //cpExtensions::IO::MementoState::SetToMemento(TPluginObject * _do)
22 //{
23 //  char base[] = "state";
24 //  std::ostringstream oss;
25 //  this->m_Id++;
26 //  oss << this->m_Id;
27 //  std::string str = oss.str();
28 //  auto complement = str.c_str();
29 //
30 //  std::string fileName(base);
31 //  fileName.append(complement);
32 //  fileName.append(".mhd");
33 //
34 //  std::string fileNameRaw(base);
35 //  fileNameRaw.append(complement);
36 //  fileNameRaw.append(".raw");
37 ////  save(fileName, fileNameRaw, _img);
38 //
39 //
40 //  vtkSmartPointer<vtkMetaImageWriter> writer =
41 //    vtkSmartPointer<vtkMetaImageWriter>::New();
42 //
43 //  auto img = TPluginImage::New();
44 //  img->SetSource(_do);
45 //
46 // // writer->SetInputData(_do->GetVTK<vtkDataObject>());
47 //  writer->SetInputData(img->GetVTK<vtkDataObject>());
48 //  
49 //  writer->SetFileName(fileName.c_str());
50 //  writer->SetRAWFileName(fileNameRaw.c_str());
51 //  writer->Write();
52 //
53 //  return true;
54 //}
55 //
56 //
57 bool
58 cpExtensions::IO::MementoState::SetToMemento(cpPlugins::Interface::Image* _img)
59 {
60   char base[] = "state";
61   std::ostringstream oss;
62   this->m_Id++;
63   oss << this->m_Id;
64   std::string str = oss.str();
65   auto complement = str.c_str();
66
67   std::string fileName(base);
68   fileName.append(complement);
69   fileName.append(".mhd");
70
71   std::string fileNameRaw(base);
72   fileNameRaw.append(complement);
73   fileNameRaw.append(".raw");
74   save(fileName, fileNameRaw, _img);
75
76   return true;
77 }
78 //
79 //
80 //// -------------------------------------------------------------------------
81 //vtkSmartPointer<vtkMetaImageReader>
82 //cpExtensions::IO::MementoState::getMemento(long id)
83 //{
84 //      char base[] = "state";
85 //      std::ostringstream oss;
86 //      oss << id;
87 //      std::string str = oss.str();
88 //      auto complement = str.c_str();
89 //
90 //      std::string fileName(base);
91 //      fileName.append(complement);
92 //      fileName.append(".mhd");
93 //      return load(fileName);
94 //}
95 //
96 // -------------------------------------------------------------------------
97 void 
98 cpExtensions::IO::MementoState::
99 save(const std::string& filename, const std::string& filenameRaw, cpPlugins::Interface::Image* img) {
100   
101         vtkSmartPointer<vtkMetaImageWriter> writer =
102                 vtkSmartPointer<vtkMetaImageWriter>::New();
103         writer->SetInputData(img->GetVTK< vtkImageData >());
104         writer->SetFileName(filename.c_str());
105         writer->SetRAWFileName(filenameRaw.c_str());
106         writer->Write();
107   
108 }
109
110 // -------------------------------------------------------------------------
111 vtkSmartPointer<vtkMetaImageReader>
112 cpExtensions::IO::MementoState::load(const std::string& filename) {
113   
114         vtkSmartPointer<vtkMetaImageReader> reader =
115                 vtkSmartPointer<vtkMetaImageReader>::New();
116         reader->SetFileName(filename.c_str());
117         reader->Update();
118         return reader;
119   
120 //return( NULL );
121 }
122
123 // eof - $RCSfile$