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 =========================================================================*/ 00048 #ifndef __vtkPolyDataReader_h 00049 #define __vtkPolyDataReader_h 00050 00051 #include "vtkDataReader.h" 00052 00053 class vtkPolyData; 00054 00055 class VTK_IO_EXPORT vtkPolyDataReader : public vtkDataReader 00056 { 00057 public: 00058 static vtkPolyDataReader *New(); 00059 vtkTypeRevisionMacro(vtkPolyDataReader,vtkDataReader); 00060 void PrintSelf(ostream& os, vtkIndent indent); 00061 00063 00064 vtkPolyData *GetOutput(); 00065 vtkPolyData *GetOutput(int idx) 00066 {return (vtkPolyData *) this->vtkSource::GetOutput(idx); }; 00067 void SetOutput(vtkPolyData *output); 00069 00070 protected: 00071 vtkPolyDataReader(); 00072 ~vtkPolyDataReader(); 00073 00074 void Execute(); 00075 00076 // Update extent of PolyData is specified in pieces. 00077 // Since all DataObjects should be able to set UpdateExent as pieces, 00078 // just copy output->UpdateExtent all Inputs. 00079 void ComputeInputUpdateExtents(vtkDataObject *output); 00080 00081 virtual int FillOutputPortInformation(int, vtkInformation*); 00082 00083 // Used by streaming: The extent of the output being processed 00084 // by the execute method. Set in the ComputeInputUpdateExtents method. 00085 int ExecutePiece; 00086 int ExecuteNumberOfPieces; 00087 int ExecuteGhostLevel; 00088 private: 00089 vtkPolyDataReader(const vtkPolyDataReader&); // Not implemented. 00090 void operator=(const vtkPolyDataReader&); // Not implemented. 00091 }; 00092 00093 #endif 00094 00095