OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I386LINUX / util / I386LINUX / include / vtk / vtkPointSetToPointSetFilter.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile: vtkPointSetToPointSetFilter.h,v $
5   Language:  C++
6   Date:      $Date: 2002/10/04 20:43:44 $
7   Version:   $Revision: 1.49 $
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 vtkPointSetToPointSetFilter - abstract filter class 
19 // .SECTION Description
20 // vtkPointSetToPointSetFilter is an abstract filter class whose subclasses
21 // take as input a point set and generates a point set on output.  At a
22 // minimum, the concrete subclasses of vtkPointSetToPointSetFilter modify
23 // their point coordinates. They never modify their topological form,
24 // however.
25 //
26 // This is an abstract filter type. What that means is that the output of the
27 // filter is an abstract type (i.e., vtkPointSet), no matter what the input
28 // of the filter is. This can cause problems connecting together filters due
29 // to the change in dataset type. (For example, in a series of filters
30 // processing vtkPolyData, when a vtkPointSetToPointSetFilter or subclass is
31 // introduced into the pipeline, if the filter downstream of it takes
32 // vtkPolyData as input, the pipeline connection cannot be made.) To get
33 // around this problem, use one of the convenience methods to return a
34 // concrete type (e.g., vtkGetPolyDataOutput(), GetStructuredGridOutput(),
35 // etc.).
36
37 // .SECTION See Also
38 // vtkTransformFilter vtkWarpScalar vtkWarpTo vtkWarpVector
39
40 #ifndef __vtkPointSetToPointSetFilter_h
41 #define __vtkPointSetToPointSetFilter_h
42
43 #include "vtkPointSetSource.h"
44
45 class vtkPolyData;
46 class vtkStructuredGrid;
47 class vtkUnstructuredGrid;
48
49 class VTK_FILTERING_EXPORT vtkPointSetToPointSetFilter : public vtkPointSetSource
50 {
51 public:
52   vtkTypeRevisionMacro(vtkPointSetToPointSetFilter,vtkPointSetSource);
53   void PrintSelf(ostream& os, vtkIndent indent);
54   
55   // Description:
56   // Specify the input data or filter.
57   void SetInput(vtkPointSet *input);
58
59   // Description:
60   // Get the input data or filter.
61   vtkPointSet *GetInput();
62
63   // Description:
64   // Get the output of this filter. If output is NULL, then input hasn't been
65   // set, which is necessary for abstract filter objects.
66   vtkPointSet *GetOutput();
67   vtkPointSet *GetOutput(int idx)
68     {return (vtkPointSet *) this->vtkPointSetSource::GetOutput(idx); };
69
70   // Description:
71   // Get the output as vtkPolyData. Performs run-time checking.
72   vtkPolyData *GetPolyDataOutput();
73
74   // Description:
75   // Get the output as vtkStructuredGrid. Performs run-time checking.
76   vtkStructuredGrid *GetStructuredGridOutput();
77
78   // Description:
79   // Get the output as vtkUnstructuredGrid. Performs run-time checking.
80   vtkUnstructuredGrid *GetUnstructuredGridOutput();
81   
82   // Description:
83   // By default copy the output update extent to the input
84   virtual void ComputeInputUpdateExtents( vtkDataObject *output );
85
86 protected:
87   vtkPointSetToPointSetFilter();
88   ~vtkPointSetToPointSetFilter();
89
90 private:
91   vtkPointSetToPointSetFilter(const vtkPointSetToPointSetFilter&);  // Not implemented.
92   void operator=(const vtkPointSetToPointSetFilter&);  // Not implemented.
93 };
94
95 #endif
96
97