VTK  9.1.0
vtkAssignAttribute.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkAssignAttribute.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
67#ifndef vtkAssignAttribute_h
68#define vtkAssignAttribute_h
69
70#include "vtkFiltersCoreModule.h" // For export macro
72
73#include "vtkDataSetAttributes.h" // Needed for NUM_ATTRIBUTES
74
75class vtkFieldData;
76
77class VTKFILTERSCORE_EXPORT vtkAssignAttribute : public vtkPassInputTypeAlgorithm
78{
79public:
81 void PrintSelf(ostream& os, vtkIndent indent) override;
82
87
91 void Assign(int inputAttributeType, int attributeType, int attributeLoc);
92
96 void Assign(const char* fieldName, int attributeType, int attributeLoc);
97
102 void Assign(const char* name, const char* attributeType, const char* attributeLoc);
103
104 // Always keep NUM_ATTRIBUTE_LOCS as the last entry
106 {
107 POINT_DATA = 0,
108 CELL_DATA = 1,
109 VERTEX_DATA = 2,
110 EDGE_DATA = 3,
111 NUM_ATTRIBUTE_LOCS
112 };
113
114protected:
116 {
118 ATTRIBUTE
119 };
120
123
127
133
134 static char AttributeLocationNames[vtkAssignAttribute::NUM_ATTRIBUTE_LOCS][12];
135 static char AttributeNames[vtkDataSetAttributes::NUM_ATTRIBUTES][20];
136
137private:
138 vtkAssignAttribute(const vtkAssignAttribute&) = delete;
139 void operator=(const vtkAssignAttribute&) = delete;
140};
141
142#endif
Labels/marks a field as an attribute.
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.
static vtkAssignAttribute * New()
Create a new vtkAssignAttribute.
represent and manipulate fields of data
Definition: vtkFieldData.h:164
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce output of the same type as input.