00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkDataSetReader.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 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 =========================================================================*/ 00056 #ifndef __vtkDataSetReader_h 00057 #define __vtkDataSetReader_h 00058 00059 #include "vtkDataReader.h" 00060 00061 class vtkDataSet; 00062 class vtkPolyData; 00063 class vtkRectilinearGrid; 00064 class vtkStructuredGrid; 00065 class vtkStructuredPoints; 00066 class vtkUnstructuredGrid; 00067 00068 class VTK_IO_EXPORT vtkDataSetReader : public vtkDataReader 00069 { 00070 public: 00071 static vtkDataSetReader *New(); 00072 vtkTypeRevisionMacro(vtkDataSetReader,vtkDataReader); 00073 void PrintSelf(ostream& os, vtkIndent indent); 00074 00076 00079 vtkDataSet *GetOutput(); 00080 vtkDataSet *GetOutput(int idx); 00082 00084 00089 vtkPolyData *GetPolyDataOutput(); 00090 vtkStructuredPoints *GetStructuredPointsOutput(); 00091 vtkStructuredGrid *GetStructuredGridOutput(); 00092 vtkUnstructuredGrid *GetUnstructuredGridOutput(); 00093 vtkRectilinearGrid *GetRectilinearGridOutput(); 00095 00097 void Update(); 00098 00101 virtual int ReadOutputType(); 00102 00103 protected: 00104 vtkDataSetReader(); 00105 ~vtkDataSetReader(); 00106 00107 void Execute(); 00108 vtkDataReader *Reader; 00109 00110 private: 00111 vtkDataSetReader(const vtkDataSetReader&); // Not implemented. 00112 void operator=(const vtkDataSetReader&); // Not implemented. 00113 }; 00114 00115 #endif 00116 00117