VTK
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 
42 #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 
54  static vtkMapArrayValues *New();
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 
117  void AddToMap(vtkVariant from, vtkVariant to);
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:
146 
148  ~vtkMapArrayValues() override;
149 
151  int FillInputPortInformation(int, vtkInformation *) override;
152 
157  int MapType;
159  double FillValue;
160 
161  // PIMPL idiom to hide map implementation.
162  vtkMapType *Map;
163 
164 private:
165  vtkMapArrayValues(const vtkMapArrayValues&) = delete;
166  void operator=(const vtkMapArrayValues&) = delete;
167 };
168 
169 #endif
Map values in an input array to different values in an output array of (possibly) different type...
Superclass for algorithms that produce output of the same type as input.
Store vtkAlgorithm input/output information.
A atomic type representing the union of many types.
Definition: vtkVariant.h:71
int vtkTypeBool
Definition: vtkABI.h:69
a simple class to control print indentation
Definition: vtkIndent.h:39
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.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
static vtkPassInputTypeAlgorithm * New()