VTK
vtkDataSetAlgorithm.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkDataSetAlgorithm.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
36 #ifndef vtkDataSetAlgorithm_h
37 #define vtkDataSetAlgorithm_h
38 
39 #include "vtkCommonExecutionModelModule.h" // For export macro
40 #include "vtkAlgorithm.h"
41 
42 class vtkDataSet;
43 class vtkImageData;
44 class vtkPolyData;
46 class vtkStructuredGrid;
48 class vtkRectilinearGrid;
49 
51 {
52 public:
53  static vtkDataSetAlgorithm *New();
55  void PrintSelf(ostream& os, vtkIndent indent);
56 
58 
59  vtkDataSet* GetOutput();
60  vtkDataSet* GetOutput(int);
62 
65  vtkDataObject* GetInput();
66 
68  vtkPolyData *GetPolyDataOutput();
69 
71  vtkStructuredPoints *GetStructuredPointsOutput();
72 
74  vtkImageData *GetImageDataOutput();
75 
77  vtkStructuredGrid *GetStructuredGridOutput();
78 
80  vtkUnstructuredGrid *GetUnstructuredGridOutput();
81 
83  vtkRectilinearGrid *GetRectilinearGridOutput();
84 
86 
89  void SetInputData(vtkDataObject*);
90  void SetInputData(int, vtkDataObject*);
91  void SetInputData(vtkDataSet*);
92  void SetInputData(int, vtkDataSet*);
94 
96 
99  void AddInputData(vtkDataObject *);
100  void AddInputData(vtkDataSet*);
101  void AddInputData(int, vtkDataSet*);
102  void AddInputData(int, vtkDataObject*);
104 
106 
107  virtual int ProcessRequest(vtkInformation* request,
108  vtkInformationVector** inputVector,
109  vtkInformationVector* outputVector);
111 
112 protected:
115 
117 
124  vtkInformationVector*) {return 1;};
126 
128 
135  {
136  return 1;
137  };
139 
140 
142 
149  virtual int RequestDataObject(vtkInformation* request,
150  vtkInformationVector** inputVector,
151  vtkInformationVector* outputVector);
153 
155 
161  vtkInformationVector*) {return 1;};
163 
164 
165  // see algorithm for more info
168 
169  vtkDataObject *GetInput(int port);
170 
171 private:
172  vtkDataSetAlgorithm(const vtkDataSetAlgorithm&); // Not implemented.
173  void operator=(const vtkDataSetAlgorithm&); // Not implemented.
174 };
175 
176 #endif
177 
178 
#define VTKCOMMONEXECUTIONMODEL_EXPORT
a dataset that is topologically regular with variable spacing in the three coordinate directions ...
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:61
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:83
Superclass for all sources, filters, and sinks in VTK.
Definition: vtkAlgorithm.h:61
virtual int FillOutputPortInformation(int port, vtkInformation *info)
a simple class to control print indentation
Definition: vtkIndent.h:38
topologically and geometrically regular array of data
Definition: vtkImageData.h:44
dataset represents arbitrary combinations of all possible cell types
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int FillInputPortInformation(int port, vtkInformation *info)
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
A subclass of ImageData.
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
topologically regular array of data
Store zero or more vtkInformation instances.
static vtkAlgorithm * New()
Superclass for algorithms that produce output of the same type as input.
general representation of visualization data
Definition: vtkDataObject.h:64
void PrintSelf(ostream &os, vtkIndent indent)