VTK  9.1.0
vtkMapArrayValues.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkMapArrayValues.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=========================================================================*/
39#ifndef vtkMapArrayValues_h
40#define vtkMapArrayValues_h
41
43#include "vtkRenderingCoreModule.h" // For export macro
44
45class vtkMapType;
46class vtkVariant;
47
48class VTKRENDERINGCORE_EXPORT vtkMapArrayValues : public vtkPassInputTypeAlgorithm
49{
50public:
52 void PrintSelf(ostream& os, vtkIndent indent) override;
53
55
57
62 vtkSetMacro(FieldType, int);
63 vtkGetMacro(FieldType, int);
65
67
72 vtkSetMacro(PassArray, vtkTypeBool);
73 vtkGetMacro(PassArray, vtkTypeBool);
74 vtkBooleanMacro(PassArray, vtkTypeBool);
76
78
83 vtkSetMacro(FillValue, double);
84 vtkGetMacro(FillValue, double);
86
88
91 vtkSetStringMacro(InputArrayName);
92 vtkGetStringMacro(InputArrayName);
94
96
99 vtkSetStringMacro(OutputArrayName);
100 vtkGetStringMacro(OutputArrayName);
102
104
108 vtkGetMacro(OutputArrayType, int);
109 vtkSetMacro(OutputArrayType, int);
111
113
118 void AddToMap(int from, int to);
119 void AddToMap(int from, const char* to);
120 void AddToMap(const char* from, int to);
121 void AddToMap(const char* from, const char* to);
123
127 void ClearMap();
128
133
134 // Always keep NUM_ATTRIBUTE_LOCS as the last entry
136 {
137 POINT_DATA = 0,
138 CELL_DATA = 1,
139 VERTEX_DATA = 2,
140 EDGE_DATA = 3,
141 ROW_DATA = 4,
142 NUM_ATTRIBUTE_LOCS
143 };
144
145protected:
148
151
158 double FillValue;
159
160 // PIMPL idiom to hide map implementation.
161 vtkMapType* Map;
162
163private:
164 vtkMapArrayValues(const vtkMapArrayValues&) = delete;
165 void operator=(const vtkMapArrayValues&) = delete;
166};
167
168#endif
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Map values in an input array to different values in an output array of (possibly) different type.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
int GetMapSize()
Get the size of the internal map.
void ClearMap()
Clear the internal map.
void AddToMap(const char *from, int to)
Add to the internal STL map.
void AddToMap(const char *from, const char *to)
Add to the internal STL map.
void AddToMap(int from, const char *to)
Add to the internal STL map.
static vtkMapArrayValues * New()
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
void AddToMap(vtkVariant from, vtkVariant to)
Add to the internal STL map.
~vtkMapArrayValues() override
void AddToMap(int from, int to)
Add to the internal STL map.
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.
A atomic type representing the union of many types.
Definition: vtkVariant.h:145
int vtkTypeBool
Definition: vtkABI.h:69