00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
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
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&);
00105 void operator=(const vtkGenericDataObjectReader&);
00106
00107 template<typename ReaderT, typename DataT>
00108 void ReadData(const char* dataClass, vtkDataObject* output);
00109
00110 vtkSetStringMacro(Header);
00111
00112 };
00113
00114 #endif