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 =========================================================================*/ 00032 #ifndef __vtkPolyDataSource_h 00033 #define __vtkPolyDataSource_h 00034 00035 #include "vtkSource.h" 00036 00037 class vtkPolyData; 00038 00039 class VTK_FILTERING_EXPORT vtkPolyDataSource : public vtkSource 00040 { 00041 public: 00042 vtkTypeRevisionMacro(vtkPolyDataSource,vtkSource); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00046 00047 vtkPolyData *GetOutput(); 00048 vtkPolyData *GetOutput(int idx); 00049 void SetOutput(vtkPolyData *output); 00051 00052 protected: 00053 vtkPolyDataSource(); 00054 ~vtkPolyDataSource() {}; 00055 00056 // Update extent of PolyData is specified in pieces. 00057 // Since all DataObjects should be able to set UpdateExent as pieces, 00058 // just copy output->UpdateExtent all Inputs. 00059 void ComputeInputUpdateExtents(vtkDataObject *output); 00060 00061 // Used by streaming: The extent of the output being processed 00062 // by the execute method. Set in the ComputeInputUpdateExtents method. 00063 int ExecutePiece; 00064 int ExecuteNumberOfPieces; 00065 00066 int ExecuteGhostLevel; 00067 private: 00068 vtkPolyDataSource(const vtkPolyDataSource&); // Not implemented. 00069 void operator=(const vtkPolyDataSource&); // Not implemented. 00070 }; 00071 00072 #endif 00073 00074 00075 00076 00077