VTK
|
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