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 
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 
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:
147  ~vtkMapArrayValues() override;
148 
150  int FillInputPortInformation(int, vtkInformation*) override;
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
vtkPassInputTypeAlgorithm.h
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkPassInputTypeAlgorithm::FillInputPortInformation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
vtkMapArrayValues::FieldType
FieldType
Definition: vtkMapArrayValues.h:135
vtkMapArrayValues
Map values in an input array to different values in an output array of (possibly) different type.
Definition: vtkMapArrayValues.h:48
vtkMapArrayValues::OutputArrayName
char * OutputArrayName
Definition: vtkMapArrayValues.h:153
vtkPassInputTypeAlgorithm::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
Definition: vtkPassInputTypeAlgorithm.h:171
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkMapArrayValues::OutputArrayType
int OutputArrayType
Definition: vtkMapArrayValues.h:154
vtkVariant
A atomic type representing the union of many types.
Definition: vtkVariant.h:65
vtkMapArrayValues::FieldType
int FieldType
Definition: vtkMapArrayValues.h:155
vtkMapArrayValues::InputArrayName
char * InputArrayName
Definition: vtkMapArrayValues.h:152
vtkMapArrayValues::Map
vtkMapType * Map
Definition: vtkMapArrayValues.h:161
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:64
vtkMapArrayValues::FillValue
double FillValue
Definition: vtkMapArrayValues.h:158
vtkMapArrayValues::PassArray
vtkTypeBool PassArray
Definition: vtkMapArrayValues.h:157
vtkPassInputTypeAlgorithm::New
static vtkPassInputTypeAlgorithm * New()
vtkPassInputTypeAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkPassInputTypeAlgorithm
Superclass for algorithms that produce output of the same type as input.
Definition: vtkPassInputTypeAlgorithm.h:51
vtkMapArrayValues::MapType
int MapType
Definition: vtkMapArrayValues.h:156