00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkPolyDataReader.h,v $ 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 =========================================================================*/ 00033 #ifndef __vtkPolyDataReader_h 00034 #define __vtkPolyDataReader_h 00035 00036 #include "vtkDataReader.h" 00037 00038 class vtkPolyData; 00039 00040 class VTK_IO_EXPORT vtkPolyDataReader : public vtkDataReader 00041 { 00042 public: 00043 static vtkPolyDataReader *New(); 00044 vtkTypeRevisionMacro(vtkPolyDataReader,vtkDataReader); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00048 00049 vtkPolyData *GetOutput(); 00050 vtkPolyData *GetOutput(int idx); 00051 void SetOutput(vtkPolyData *output); 00053 00054 protected: 00055 vtkPolyDataReader(); 00056 ~vtkPolyDataReader(); 00057 00058 int RequestData(vtkInformation *, vtkInformationVector **, 00059 vtkInformationVector *); 00060 00061 // Update extent of PolyData is specified in pieces. 00062 // Since all DataObjects should be able to set UpdateExent as pieces, 00063 // just copy output->UpdateExtent all Inputs. 00064 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, 00065 vtkInformationVector *); 00066 00067 int FillOutputPortInformation(int, vtkInformation*); 00068 00069 private: 00070 vtkPolyDataReader(const vtkPolyDataReader&); // Not implemented. 00071 void operator=(const vtkPolyDataReader&); // Not implemented. 00072 }; 00073 00074 #endif 00075 00076