VTK  9.3.0
vtkMergeArrays.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright (c) Kitware, Inc.
3// SPDX-License-Identifier: BSD-3-Clause
20#ifndef vtkMergeArrays_h
21#define vtkMergeArrays_h
22
23#include "vtkFiltersGeneralModule.h" // For export macro
25
26#include <string> // Needed for protected method argument
27
28VTK_ABI_NAMESPACE_BEGIN
29class vtkDataSet;
30class vtkFieldData;
31
32class VTKFILTERSGENERAL_EXPORT vtkMergeArrays : public vtkPassInputTypeAlgorithm
33{
34public:
36
38 void PrintSelf(ostream& os, vtkIndent indent) override;
39
40protected:
42 ~vtkMergeArrays() override;
43
45
50 virtual bool GetOutputArrayName(
51 vtkFieldData* arrays, const char* inArrayName, int inputIndex, std::string& outputArrayName);
53
55
59 void MergeArrays(int inputIndex, vtkFieldData* inputFD, vtkFieldData* outputFD);
60
62
66 virtual int MergeDataObjectFields(vtkDataObject* input, int inputIndex, vtkDataObject* output);
68
69 // see algorithm for more info
70 int FillInputPortInformation(int port, vtkInformation* info) override;
71
73
74private:
75 vtkMergeArrays(const vtkMergeArrays&) = delete;
76 void operator=(const vtkMergeArrays&) = delete;
77};
78
79VTK_ABI_NAMESPACE_END
80#endif
general representation of visualization data
abstract class to specify dataset behavior
Definition vtkDataSet.h:53
represent and manipulate fields of data
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Multiple inputs with one output.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
static vtkMergeArrays * New()
virtual bool GetOutputArrayName(vtkFieldData *arrays, const char *inArrayName, int inputIndex, std::string &outputArrayName)
Given an existing set of output arrays and an array name and input data set index,...
void MergeArrays(int inputIndex, vtkFieldData *inputFD, vtkFieldData *outputFD)
Add input field arrays to output, mangling output array names as needed based on inputIndex.
virtual int MergeDataObjectFields(vtkDataObject *input, int inputIndex, vtkDataObject *output)
For a given input and index, add data arrays to the output.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
~vtkMergeArrays() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Superclass for algorithms that produce output of the same type as input.