VTK  9.3.1
vtkMergeFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
16 #ifndef vtkMergeFilter_h
17 #define vtkMergeFilter_h
18 
19 #include "vtkDataSetAlgorithm.h"
20 #include "vtkFiltersCoreModule.h" // For export macro
21 
22 VTK_ABI_NAMESPACE_BEGIN
23 class vtkFieldList;
24 
25 class VTKFILTERSCORE_EXPORT vtkMergeFilter : public vtkDataSetAlgorithm
26 {
27 public:
28  static vtkMergeFilter* New();
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
33 
39  void SetGeometryInputData(vtkDataSet* input) { this->SetInputData(input); }
40  vtkDataSet* GetGeometry();
42 
47  void SetGeometryConnection(vtkAlgorithmOutput* algOutput) { this->SetInputConnection(algOutput); }
48 
50 
56  void SetScalarsData(vtkDataSet*);
57  vtkDataSet* GetScalars();
59 
65  {
66  this->SetInputConnection(1, algOutput);
67  }
68 
70 
76  void SetVectorsData(vtkDataSet*);
77  vtkDataSet* GetVectors();
79 
85  {
86  this->SetInputConnection(2, algOutput);
87  }
88 
90 
96  void SetNormalsData(vtkDataSet*);
97  vtkDataSet* GetNormals();
99 
105  {
106  this->SetInputConnection(3, algOutput);
107  }
108 
110 
117  void SetTCoordsData(vtkDataSet*);
118  vtkDataSet* GetTCoords();
120 
127  {
128  this->SetInputConnection(4, algOutput);
129  }
130 
132 
138  void SetTensorsData(vtkDataSet*);
139  vtkDataSet* GetTensors();
141 
147  {
148  this->SetInputConnection(5, algOutput);
149  }
150 
156  void AddField(const char* name, vtkDataSet* input);
157 
158 protected:
159  vtkMergeFilter();
160  ~vtkMergeFilter() override;
161 
162  // Usual data generation method
165  int FillInputPortInformation(int port, vtkInformation* info) override;
166 
167  vtkFieldList* FieldList;
169 
170 private:
171  vtkMergeFilter(const vtkMergeFilter&) = delete;
172  void operator=(const vtkMergeFilter&) = delete;
173 };
174 
175 VTK_ABI_NAMESPACE_END
176 #endif
void SetScalarsConnection(vtkAlgorithmOutput *algOutput)
Specify object from which to extract scalar information.
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:52
void SetInputData(vtkDataObject *)
Assign a data object as input.
void SetNormalsConnection(vtkAlgorithmOutput *algOutput)
Set the connection from which to extract normal information.
Proxy object to connect input/output ports.
void SetVectorsConnection(vtkAlgorithmOutput *algOutput)
Set the connection from which to extract vector information.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual void SetInputConnection(int port, vtkAlgorithmOutput *input)
Set the connection for the given input port index.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
extract separate components of data from different datasets
void SetTCoordsConnection(vtkAlgorithmOutput *algOutput)
Set the connection from which to extract texture coordinates information.
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when each filter in the pipeline decides what portion of its inp...
vtkFieldList * FieldList
void SetTensorsConnection(vtkAlgorithmOutput *algOutput)
Set the connection from which to extract tensor data.
Store zero or more vtkInformation instances.
Superclass for algorithms that produce output of the same type as input.
void SetGeometryConnection(vtkAlgorithmOutput *algOutput)
Specify object from which to extract geometry information.
static vtkDataSetAlgorithm * New()
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void SetGeometryInputData(vtkDataSet *input)
Specify object from which to extract geometry information.