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 
28 VTK_ABI_NAMESPACE_BEGIN
29 class vtkDataSet;
30 class vtkFieldData;
31 
32 class VTKFILTERSGENERAL_EXPORT vtkMergeArrays : public vtkPassInputTypeAlgorithm
33 {
34 public:
35  static vtkMergeArrays* New();
36 
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
40 protected:
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
71 
73 
74 private:
75  vtkMergeArrays(const vtkMergeArrays&) = delete;
76  void operator=(const vtkMergeArrays&) = delete;
77 };
78 
79 VTK_ABI_NAMESPACE_END
80 #endif
general representation of visualization data
Definition: vtkDataObject.h:64
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
represent and manipulate fields of data
Definition: vtkFieldData.h:61
a simple class to control print indentation
Definition: vtkIndent.h:38
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.
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.
static vtkMergeArrays * New()
Superclass for algorithms that produce output of the same type as input.
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
@ string
Definition: vtkX3D.h:490