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 
45 class vtkMapType;
46 class vtkVariant;
47 
48 class VTKRENDERINGCORE_EXPORT vtkMapArrayValues : public vtkPassInputTypeAlgorithm
49 {
50 public:
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 
132  int GetMapSize();
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 
145 protected:
147  ~vtkMapArrayValues() override;
148 
151 
156  int MapType;
158  double FillValue;
159 
160  // PIMPL idiom to hide map implementation.
161  vtkMapType* Map;
162 
163 private:
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:34
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.
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.
static vtkMapArrayValues * New()
Superclass for algorithms that produce output of the same type as input.
A atomic type representing the union of many types.
Definition: vtkVariant.h:66
int vtkTypeBool
Definition: vtkABI.h:69