VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/IO/Image/vtkNrrdReader.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 /*=========================================================================
00003 
00004   Program:   Visualization Toolkit
00005   Module:    vtkNrrdReader.h
00006 
00007   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00016 /*----------------------------------------------------------------------------
00017  Copyright (c) Sandia Corporation
00018  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00019 ----------------------------------------------------------------------------*/
00020 
00038 #ifndef vtkNrrdReader_h
00039 #define vtkNrrdReader_h
00040 
00041 #include "vtkIOImageModule.h" // For export macro
00042 #include "vtkImageReader.h"
00043 
00044 class vtkCharArray;
00045 
00046 class VTKIOIMAGE_EXPORT vtkNrrdReader : public vtkImageReader
00047 {
00048 public:
00049   vtkTypeMacro(vtkNrrdReader, vtkImageReader);
00050   static vtkNrrdReader *New();
00051   virtual void PrintSelf(ostream &os, vtkIndent indent);
00052 
00053   virtual int CanReadFile(const char *filename);
00054 
00055 protected:
00056   vtkNrrdReader();
00057   ~vtkNrrdReader();
00058 
00059   virtual int RequestInformation(vtkInformation *request,
00060                                  vtkInformationVector **inputVector,
00061                                  vtkInformationVector *outputVector);
00062 
00063   virtual int RequestData(vtkInformation *request,
00064                           vtkInformationVector **inputVector,
00065                           vtkInformationVector *outputVector);
00066 
00067   int ReadHeaderInternal(vtkCharArray *headerBuffer);
00068   virtual int ReadHeader();
00069   virtual int ReadHeader(vtkCharArray *headerBuffer);
00070 
00071   virtual int ReadDataAscii(vtkImageData *output);
00072 
00073   vtkStringArray *DataFiles;
00074 
00075   enum {
00076     ENCODING_RAW,
00077     ENCODING_ASCII
00078   };
00079 
00080   int Encoding;
00081 
00082 private:
00083   vtkNrrdReader(const vtkNrrdReader &);       // Not implemented.
00084   void operator=(const vtkNrrdReader &);        // Not implemented.
00085 };
00086 
00087 #endif //vtkNrrdReader_h