1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkPolyDataSource.h,v $
6 Date: $Date: 2002/10/04 20:43:44 $
7 Version: $Revision: 1.10 $
9 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
11 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notice for more information.
17 =========================================================================*/
18 // .NAME vtkPolyDataSource - abstract class whose subclasses generate polygonal data
19 // .SECTION Description
20 // vtkPolyDataSource is an abstract class whose subclasses generate polygonal
24 // vtkPolyDataReader vtkAxes vtkBYUReader vtkConeSource vtkCubeSource
25 // vtkCursor3D vtkCyberReader vtkCylinderSource vtkDiskSource vtkLineSource
26 // vtkMCubesReader vtkOutlineSource vtkPlaneSource vtkPointSource vtkSTLReader
27 // vtkSphereSource vtkTextSource vtkUGFacetReader vtkVectorText
29 #ifndef __vtkPolyDataSource_h
30 #define __vtkPolyDataSource_h
32 #include "vtkSource.h"
36 class VTK_FILTERING_EXPORT vtkPolyDataSource : public vtkSource
39 vtkTypeRevisionMacro(vtkPolyDataSource,vtkSource);
40 void PrintSelf(ostream& os, vtkIndent indent);
43 // Get the output of this source.
44 vtkPolyData *GetOutput();
45 vtkPolyData *GetOutput(int idx);
46 void SetOutput(vtkPolyData *output);
50 ~vtkPolyDataSource() {};
52 // Update extent of PolyData is specified in pieces.
53 // Since all DataObjects should be able to set UpdateExent as pieces,
54 // just copy output->UpdateExtent all Inputs.
55 void ComputeInputUpdateExtents(vtkDataObject *output);
57 // Used by streaming: The extent of the output being processed
58 // by the execute method. Set in the ComputeInputUpdateExtents method.
60 int ExecuteNumberOfPieces;
62 int ExecuteGhostLevel;
64 vtkPolyDataSource(const vtkPolyDataSource&); // Not implemented.
65 void operator=(const vtkPolyDataSource&); // Not implemented.