This file is indexed.

/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