VTK  9.3.0
vtkAssignAttribute.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
51 #ifndef vtkAssignAttribute_h
52 #define vtkAssignAttribute_h
53 
54 #include "vtkFiltersCoreModule.h" // For export macro
56 
57 #include "vtkDataSetAttributes.h" // Needed for NUM_ATTRIBUTES
58 
59 VTK_ABI_NAMESPACE_BEGIN
60 class vtkFieldData;
61 
62 class VTKFILTERSCORE_EXPORT vtkAssignAttribute : public vtkPassInputTypeAlgorithm
63 {
64 public:
66  void PrintSelf(ostream& os, vtkIndent indent) override;
67 
72 
76  void Assign(int inputAttributeType, int attributeType, int attributeLoc);
77 
81  void Assign(const char* fieldName, int attributeType, int attributeLoc);
82 
87  void Assign(const char* name, const char* attributeType, const char* attributeLoc);
88 
89  // Always keep NUM_ATTRIBUTE_LOCS as the last entry
91  {
92  POINT_DATA = 0,
93  CELL_DATA = 1,
94  VERTEX_DATA = 2,
95  EDGE_DATA = 3,
96  NUM_ATTRIBUTE_LOCS
97  };
98 
99 protected:
101  {
103  ATTRIBUTE
104  };
105 
108 
112 
113  char* FieldName;
118 
119  static char AttributeLocationNames[vtkAssignAttribute::NUM_ATTRIBUTE_LOCS][12];
120  static char AttributeNames[vtkDataSetAttributes::NUM_ATTRIBUTES][20];
121 
122 private:
123  vtkAssignAttribute(const vtkAssignAttribute&) = delete;
124  void operator=(const vtkAssignAttribute&) = delete;
125 };
126 
127 VTK_ABI_NAMESPACE_END
128 #endif
Labels/marks a field as an attribute.
static vtkAssignAttribute * New()
Create a new vtkAssignAttribute.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks for Information.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Assign(const char *name, const char *attributeType, const char *attributeLoc)
Helper method used by other language bindings.
~vtkAssignAttribute() override
void Assign(const char *fieldName, int attributeType, int attributeLoc)
Label an array as an attribute.
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
void Assign(int inputAttributeType, int attributeType, int attributeLoc)
Label an attribute as another attribute.
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.
Superclass for algorithms that produce output of the same type as input.
@ name
Definition: vtkX3D.h:219