/usr/include/vtk-7.1/vtkMapArrayValues.h is in libvtk7-dev 7.1.1+dfsg1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkMapArrayValues.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkMapArrayValues
* @brief Map values in an input array to different values in
* an output array of (possibly) different type.
*
*
* vtkMapArrayValues allows you to associate certain values of an attribute array
* (on either a vertex, edge, point, or cell) with different values in a
* newly created attribute array.
*
* vtkMapArrayValues manages an internal STL map of vtkVariants that can be added to
* or cleared. When this filter executes, each "key" is searched for in the
* input array and the indices of the output array at which there were matches
* the set to the mapped "value".
*
* You can control whether the input array values are passed to the output
* before the mapping occurs (using PassArray) or, if not, what value to set
* the unmapped indices to (using FillValue).
*
* One application of this filter is to help address the dirty data problem.
* For example, using vtkMapArrayValues you could associate the vertex values
* "Foo, John", "Foo, John.", and "John Foo" with a single entity.
*/
#ifndef vtkMapArrayValues_h
#define vtkMapArrayValues_h
#include "vtkRenderingCoreModule.h" // For export macro
#include "vtkPassInputTypeAlgorithm.h"
class vtkMapType;
class vtkVariant;
class VTKRENDERINGCORE_EXPORT vtkMapArrayValues : public vtkPassInputTypeAlgorithm
{
public:
vtkTypeMacro(vtkMapArrayValues,vtkPassInputTypeAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
static vtkMapArrayValues *New();
//@{
/**
* Set/Get where the data is located that is being mapped.
* See FieldType enumeration for possible values.
* Default is POINT_DATA.
*/
vtkSetMacro(FieldType, int);
vtkGetMacro(FieldType, int);
//@}
//@{
/**
* Set/Get whether to copy the data from the input array to the output array
* before the mapping occurs. If turned off, FillValue is used to initialize
* any unmapped array indices. Default is off.
*/
vtkSetMacro(PassArray, int);
vtkGetMacro(PassArray, int);
vtkBooleanMacro(PassArray, int);
//@}
//@{
/**
* Set/Get whether to copy the data from the input array to the output array
* before the mapping occurs. If turned off, FillValue is used to initialize
* any unmapped array indices. Default is -1.
*/
vtkSetMacro(FillValue, double);
vtkGetMacro(FillValue, double);
//@}
//@{
/**
* Set/Get the name of the input array. This must be set prior to execution.
*/
vtkSetStringMacro(InputArrayName);
vtkGetStringMacro(InputArrayName);
//@}
//@{
/**
* Set/Get the name of the output array. Default is "ArrayMap".
*/
vtkSetStringMacro(OutputArrayName);
vtkGetStringMacro(OutputArrayName);
//@}
//@{
/**
* Set/Get the type of the output array. See vtkSetGet.h for possible values.
* Default is VTK_INT.
*/
vtkGetMacro(OutputArrayType, int);
vtkSetMacro(OutputArrayType, int);
//@}
//@{
/**
* Add to the internal STL map. "from" should be a value in the input array and
* "to" should be the new value it gets assigned in the output array.
*/
void AddToMap(vtkVariant from, vtkVariant to);
void AddToMap(int from, int to);
void AddToMap(int from, char *to);
void AddToMap(char *from, int to);
void AddToMap(char *from, char *to);
//@}
/**
* Clear the internal map.
*/
void ClearMap();
/**
* Get the size of the internal map.
*/
int GetMapSize();
// Always keep NUM_ATTRIBUTE_LOCS as the last entry
enum FieldType
{
POINT_DATA=0,
CELL_DATA=1,
VERTEX_DATA=2,
EDGE_DATA=3,
ROW_DATA=4,
NUM_ATTRIBUTE_LOCS
};
protected:
vtkMapArrayValues();
virtual ~vtkMapArrayValues();
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
int FillInputPortInformation(int, vtkInformation *);
char* InputArrayName;
char* OutputArrayName;
int OutputArrayType;
int FieldType;
int MapType;
int PassArray;
double FillValue;
// PIMPL idiom to hide map implementation.
vtkMapType *Map;
private:
vtkMapArrayValues(const vtkMapArrayValues&) VTK_DELETE_FUNCTION;
void operator=(const vtkMapArrayValues&) VTK_DELETE_FUNCTION;
};
#endif
|