00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkPolyDataSource.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 =========================================================================*/ 00043 #ifndef __vtkPolyDataSource_h 00044 #define __vtkPolyDataSource_h 00045 00046 #include "vtkSource.h" 00047 00048 class vtkPolyData; 00049 00050 class VTK_FILTERING_EXPORT vtkPolyDataSource : public vtkSource 00051 { 00052 public: 00053 vtkTypeRevisionMacro(vtkPolyDataSource,vtkSource); 00054 void PrintSelf(ostream& os, vtkIndent indent); 00055 00057 00058 vtkPolyData *GetOutput(); 00059 vtkPolyData *GetOutput(int idx); 00060 void SetOutput(vtkPolyData *output); 00062 00063 protected: 00064 vtkPolyDataSource(); 00065 ~vtkPolyDataSource() {}; 00066 00067 // Update extent of PolyData is specified in pieces. 00068 // Since all DataObjects should be able to set UpdateExent as pieces, 00069 // just copy output->UpdateExtent all Inputs. 00070 void ComputeInputUpdateExtents(vtkDataObject *output); 00071 00072 // Used by streaming: The extent of the output being processed 00073 // by the execute method. Set in the ComputeInputUpdateExtents method. 00074 int ExecutePiece; 00075 int ExecuteNumberOfPieces; 00076 00077 int ExecuteGhostLevel; 00078 private: 00079 vtkPolyDataSource(const vtkPolyDataSource&); // Not implemented. 00080 void operator=(const vtkPolyDataSource&); // Not implemented. 00081 }; 00082 00083 #endif 00084 00085 00086 00087 00088