]> Creatis software - creaImageIO.git/blob - src2/creaImageIOSpecificImageReader.h
*** empty log message ***
[creaImageIO.git] / src2 / creaImageIOSpecificImageReader.h
1 #ifndef __creaImageIOSpecificImageReader_h_INCLUDED__
2 #define __creaImageIOSpecificImageReader_h_INCLUDED__
3
4
5 #include <vtkImageData.h>
6 #include <string>
7 #include <map>
8 #include <vector>
9 #include <creaImageIOTreeAttributeMapType.h>
10
11 namespace creaImageIO
12 {
13
14
15   /**
16    * \ingroup ReadWrite
17    */
18   
19   //=====================================================================
20   /// Abstract specific image reader 
21   class SpecificImageReader 
22   {
23   public:
24     SpecificImageReader() {}
25     virtual ~SpecificImageReader() {}
26
27     const std::string& GetName() const { return mName; }
28
29     virtual void PushBackExtensions(std::vector<std::string>&) {}
30     virtual bool CanRead(const std::string& filename) { return false; }
31     virtual vtkImageData* ReadImage(const std::string& filename) { return 0; }
32     virtual void ReadAttributes(const std::string& filename, 
33                                 tree::AttributeMapType& attr) {}
34
35   protected:
36     void SetName(const std::string& s) { mName = s; }
37   private:
38     std::string mName;
39   };
40   //=====================================================================
41
42
43
44 } // namespace creaImageIO
45
46
47
48 #endif // #ifndef __creaImageIOSpecificImageReader_h_INCLUDED__