VTK  9.7.1
vtkFieldDataToDataSetAttribute.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
22 #ifndef vtkFieldDataToDataSetAttribute_h
23 #define vtkFieldDataToDataSetAttribute_h
24 
25 #include "vtkFiltersCoreModule.h" // For export macro
27 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
28 
29 #include "vtkDataObject.h" // for vtkDataObject::AttributeType enum
30 
31 #include <set>
32 #include <string>
33 
34 VTK_ABI_NAMESPACE_BEGIN
37 {
38 public:
41  void PrintSelf(ostream& os, vtkIndent indent) override;
42 
44 
49  vtkSetMacro(ProcessAllArrays, bool);
50  vtkGetMacro(ProcessAllArrays, bool);
51  vtkBooleanMacro(ProcessAllArrays, bool);
53 
55 
58  vtkSetMacro(OutputFieldType, int);
59  vtkGetMacro(OutputFieldType, int);
61 
65 
71  virtual void AddFieldDataArray(const char* name);
72 
78  virtual void RemoveFieldDataArray(const char* name);
79 
84  virtual void ClearFieldDataArrays();
85 
89  virtual const std::set<std::string>& GetFieldDataArrays();
91 
92 protected:
94  ~vtkFieldDataToDataSetAttribute() override = default;
95 
100  int FillInputPortInformation(int port, vtkInformation* info) override;
101 
105  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
106  vtkInformationVector* outputVector) override;
107 
108 private:
110  void operator=(const vtkFieldDataToDataSetAttribute&) = delete;
111 
112  bool ProcessAllArrays = true;
113 
115  int OutputFieldType = vtkDataObject::POINT;
116 
117  std::set<std::string> FieldDataArrays;
118 };
119 
120 VTK_ABI_NAMESPACE_END
121 #endif
Superclass for algorithms that produce output of the same type as input.
Store vtkAlgorithm input/output information.
map field data to other attribute data
a simple class to control print indentation
Definition: vtkIndent.h:28
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store zero or more vtkInformation instances.
#define VTK_MARSHALAUTO
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
static vtkPassInputTypeAlgorithm * New()