OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I686LINUX / util / I686LINUX / include / vtk / vtkPolyDataSource.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile: vtkPolyDataSource.h,v $
5   Language:  C++
6   Date:      $Date: 2002/10/04 20:43:44 $
7   Version:   $Revision: 1.10 $
8
9   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
10   All rights reserved.
11   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
12
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.
16
17 =========================================================================*/
18 // .NAME vtkPolyDataSource - abstract class whose subclasses generate polygonal data
19 // .SECTION Description
20 // vtkPolyDataSource is an abstract class whose subclasses generate polygonal
21 // data.
22
23 // .SECTION See Also
24 // vtkPolyDataReader vtkAxes vtkBYUReader vtkConeSource vtkCubeSource
25 // vtkCursor3D vtkCyberReader vtkCylinderSource vtkDiskSource vtkLineSource
26 // vtkMCubesReader vtkOutlineSource vtkPlaneSource vtkPointSource vtkSTLReader
27 // vtkSphereSource vtkTextSource vtkUGFacetReader vtkVectorText
28
29 #ifndef __vtkPolyDataSource_h
30 #define __vtkPolyDataSource_h
31
32 #include "vtkSource.h"
33
34 class vtkPolyData;
35
36 class VTK_FILTERING_EXPORT vtkPolyDataSource : public vtkSource
37 {
38 public:
39   vtkTypeRevisionMacro(vtkPolyDataSource,vtkSource);
40   void PrintSelf(ostream& os, vtkIndent indent);
41
42   // Description:
43   // Get the output of this source.
44   vtkPolyData *GetOutput();
45   vtkPolyData *GetOutput(int idx);
46   void SetOutput(vtkPolyData *output);
47
48 protected:
49   vtkPolyDataSource();
50   ~vtkPolyDataSource() {};
51   
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);
56   
57   // Used by streaming: The extent of the output being processed
58   // by the execute method. Set in the ComputeInputUpdateExtents method.
59   int ExecutePiece;
60   int ExecuteNumberOfPieces;
61   
62   int ExecuteGhostLevel;
63 private:
64   vtkPolyDataSource(const vtkPolyDataSource&);  // Not implemented.
65   void operator=(const vtkPolyDataSource&);  // Not implemented.
66 };
67
68 #endif
69
70
71
72
73