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 "vtkIOLegacyModule.h" // For export macro 00041 #include "vtkDataReader.h" 00042 00043 class vtkDataObject; 00044 class vtkGraph; 00045 class vtkPolyData; 00046 class vtkRectilinearGrid; 00047 class vtkStructuredGrid; 00048 class vtkStructuredPoints; 00049 class vtkTable; 00050 class vtkTree; 00051 class vtkUnstructuredGrid; 00052 00053 class VTKIOLEGACY_EXPORT vtkGenericDataObjectReader : public vtkDataReader 00054 { 00055 public: 00056 static vtkGenericDataObjectReader *New(); 00057 vtkTypeMacro(vtkGenericDataObjectReader,vtkDataReader); 00058 void PrintSelf(ostream& os, vtkIndent indent); 00059 00061 00062 vtkDataObject *GetOutput(); 00063 vtkDataObject *GetOutput(int idx); 00065 00067 00072 vtkGraph *GetGraphOutput(); 00073 vtkPolyData *GetPolyDataOutput(); 00074 vtkRectilinearGrid *GetRectilinearGridOutput(); 00075 vtkStructuredGrid *GetStructuredGridOutput(); 00076 vtkStructuredPoints *GetStructuredPointsOutput(); 00077 vtkTable *GetTableOutput(); 00078 vtkTree *GetTreeOutput(); 00079 vtkUnstructuredGrid *GetUnstructuredGridOutput(); 00081 00084 virtual int ReadOutputType(); 00085 00087 00088 virtual int ProcessRequest(vtkInformation *, vtkInformationVector **, 00089 vtkInformationVector *); 00090 //BTX 00091 protected: 00092 vtkGenericDataObjectReader(); 00093 ~vtkGenericDataObjectReader(); 00095 00096 virtual int RequestData(vtkInformation *, vtkInformationVector **, 00097 vtkInformationVector *); 00098 virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, 00099 vtkInformationVector *); 00100 virtual int FillOutputPortInformation(int, vtkInformation *); 00101 virtual int RequestInformation(vtkInformation *, vtkInformationVector **, 00102 vtkInformationVector *); 00103 00104 private: 00105 vtkGenericDataObjectReader(const vtkGenericDataObjectReader&); // Not implemented. 00106 void operator=(const vtkGenericDataObjectReader&); // Not implemented. 00107 00108 template<typename ReaderT, typename DataT> 00109 void ReadData(const char* dataClass, vtkDataObject* output); 00110 00111 vtkSetStringMacro(Header); 00112 //ETX 00113 }; 00114 00115 #endif