VTK
dox/IO/vtkGenericDataObjectReader.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkGenericDataObjectReader.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00037 #ifndef __vtkGenericDataObjectReader_h
00038 #define __vtkGenericDataObjectReader_h
00039 
00040 #include "vtkDataReader.h"
00041 
00042 class vtkDataObject;
00043 class vtkGraph;
00044 class vtkPolyData;
00045 class vtkRectilinearGrid;
00046 class vtkStructuredGrid;
00047 class vtkStructuredPoints;
00048 class vtkTable;
00049 class vtkTree;
00050 class vtkUnstructuredGrid;
00051 
00052 class VTK_IO_EXPORT vtkGenericDataObjectReader : public vtkDataReader
00053 {
00054 public:
00055   static vtkGenericDataObjectReader *New();
00056   vtkTypeMacro(vtkGenericDataObjectReader,vtkDataReader);
00057   void PrintSelf(ostream& os, vtkIndent indent);
00058 
00060 
00061   vtkDataObject *GetOutput();
00062   vtkDataObject *GetOutput(int idx);
00064 
00066 
00071   vtkGraph *GetGraphOutput();
00072   vtkPolyData *GetPolyDataOutput();
00073   vtkRectilinearGrid *GetRectilinearGridOutput();
00074   vtkStructuredGrid *GetStructuredGridOutput();
00075   vtkStructuredPoints *GetStructuredPointsOutput();
00076   vtkTable *GetTableOutput();
00077   vtkTree *GetTreeOutput();
00078   vtkUnstructuredGrid *GetUnstructuredGridOutput();
00080 
00083   virtual int ReadOutputType();
00084 
00086 
00087   virtual int ProcessRequest(vtkInformation *, vtkInformationVector **,
00088                              vtkInformationVector *);
00089 //BTX
00090 protected:
00091   vtkGenericDataObjectReader();
00092   ~vtkGenericDataObjectReader();
00094 
00095   virtual int RequestData(vtkInformation *, vtkInformationVector **,
00096                           vtkInformationVector *);
00097   virtual int RequestDataObject(vtkInformation *, vtkInformationVector **,
00098                                 vtkInformationVector *);
00099   virtual int FillOutputPortInformation(int, vtkInformation *);
00100   virtual int RequestInformation(vtkInformation *, vtkInformationVector **,
00101                                  vtkInformationVector *);
00102 
00103 private:
00104   vtkGenericDataObjectReader(const vtkGenericDataObjectReader&);  // Not implemented.
00105   void operator=(const vtkGenericDataObjectReader&);  // Not implemented.
00106 
00107   template<typename ReaderT, typename DataT>
00108     void ReadData(const char* dataClass, vtkDataObject* output);
00109 
00110   vtkSetStringMacro(Header);
00111 //ETX
00112 };
00113 
00114 #endif