This file is indexed.

/usr/include/vtk-7.1/vtkArcPlotter.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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    vtkArcPlotter.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   vtkArcPlotter
 * @brief   plot data along an arbitrary polyline
 *
 * vtkArcPlotter performs plotting of attribute data along polylines defined
 * with an input vtkPolyData data object. Any type of attribute data can be
 * plotted including scalars, vectors, tensors, normals, texture coordinates,
 * and field data. Either one or multiple data components can be plotted.
 *
 * To use this class you must specify an input data set that contains one or
 * more polylines, and some attribute data including which component of the
 * attribute data. (By default, this class processes the first component of
 * scalar data.) You will also need to set an offset radius (the distance
 * of the polyline to the median line of the plot), a width for the plot
 * (the distance that the minimum and maximum plot values are mapped into),
 * an possibly an offset (used to offset attribute data with multiple
 * components).
 *
 * Normally the filter automatically computes normals for generating the
 * offset arc plot. However, you can specify a default normal and use that
 * instead.
 *
 * @sa
 * vtkXYPlotActor
*/

#ifndef vtkArcPlotter_h
#define vtkArcPlotter_h

#include "vtkRenderingAnnotationModule.h" // For export macro
#include "vtkPolyDataAlgorithm.h"

#define VTK_PLOT_SCALARS    1
#define VTK_PLOT_VECTORS    2
#define VTK_PLOT_NORMALS    3
#define VTK_PLOT_TCOORDS    4
#define VTK_PLOT_TENSORS    5
#define VTK_PLOT_FIELD_DATA 6

class vtkCamera;
class vtkDataArray;
class vtkPointData;
class vtkPoints;

class VTKRENDERINGANNOTATION_EXPORT vtkArcPlotter : public vtkPolyDataAlgorithm
{
public:
  /**
   * Instantiate with no default camera and plot mode set to
   * VTK_SCALARS.
   */
  static vtkArcPlotter *New();

  vtkTypeMacro(vtkArcPlotter,vtkPolyDataAlgorithm);
  void PrintSelf(ostream& os, vtkIndent indent);

  //@{
  /**
   * Specify a camera used to orient the plot along the arc. If no camera
   * is specified, then the orientation of the plot is arbitrary.
   */
  virtual void SetCamera(vtkCamera*);
  vtkGetObjectMacro(Camera,vtkCamera);
  //@}

  //@{
  /**
   * Specify which data to plot: scalars, vectors, normals, texture coords,
   * tensors, or field data. If the data has more than one component, use
   * the method SetPlotComponent to control which component to plot.
   */
  vtkSetMacro(PlotMode, int);
  vtkGetMacro(PlotMode, int);
  void SetPlotModeToPlotScalars() {this->SetPlotMode(VTK_PLOT_SCALARS);};
  void SetPlotModeToPlotVectors() {this->SetPlotMode(VTK_PLOT_VECTORS);};
  void SetPlotModeToPlotNormals() {this->SetPlotMode(VTK_PLOT_NORMALS);};
  void SetPlotModeToPlotTCoords() {this->SetPlotMode(VTK_PLOT_TCOORDS);};
  void SetPlotModeToPlotTensors() {this->SetPlotMode(VTK_PLOT_TENSORS);};
  void SetPlotModeToPlotFieldData()
            {this->SetPlotMode(VTK_PLOT_FIELD_DATA);};
  //@}

  //@{
  /**
   * Set/Get the component number to plot if the data has more than one
   * component. If the value of the plot component is == (-1), then all
   * the components will be plotted.
   */
  vtkSetMacro(PlotComponent,int);
  vtkGetMacro(PlotComponent,int);
  //@}

  //@{
  /**
   * Set the radius of the "median" value of the first plotted component.
   */
  vtkSetClampMacro(Radius,double,0.0,VTK_FLOAT_MAX);
  vtkGetMacro(Radius,double);
  //@}

  //@{
  /**
   * Set the height of the plot. (The radius combined with the height
   * define the location of the plot relative to the generating polyline.)
   */
  vtkSetClampMacro(Height,double,0.0,VTK_FLOAT_MAX);
  vtkGetMacro(Height,double);
  //@}

  //@{
  /**
   * Specify an offset that translates each subsequent plot (if there is
   * more than one component plotted) from the defining arc (i.e., polyline).
   */
  vtkSetClampMacro(Offset, double, 0.0, VTK_FLOAT_MAX);
  vtkGetMacro(Offset, double);
  //@}

  //@{
  /**
   * Set a boolean to control whether to use default normals.
   * By default, normals are automatically computed from the generating
   * polyline and camera.
   */
  vtkSetMacro(UseDefaultNormal,int);
  vtkGetMacro(UseDefaultNormal,int);
  vtkBooleanMacro(UseDefaultNormal,int);
  //@}

  //@{
  /**
   * Set the default normal to use if you do not wish automatic normal
   * calculation. The arc plot will be generated using this normal.
   */
  vtkSetVector3Macro(DefaultNormal,float);
  vtkGetVectorMacro(DefaultNormal,float,3);
  //@}

  //@{
  /**
   * Set/Get the field data array to plot. This instance variable is
   * only applicable if field data is plotted.
   */
  vtkSetClampMacro(FieldDataArray,int,0,VTK_INT_MAX);
  vtkGetMacro(FieldDataArray,int);
  //@}

  /**
   * New GetMTime because of camera dependency.
   */
  vtkMTimeType GetMTime();

protected:
  vtkArcPlotter();
  ~vtkArcPlotter();

  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
  int  OffsetPoint(vtkIdType ptId, vtkPoints *inPts, double n[3],
                   vtkPoints *newPts, double offset,
                   double *range, double val);
  int  ProcessComponents(vtkIdType numPts, vtkPointData *pd);

  vtkCamera *Camera;
  int       PlotMode;
  int       PlotComponent;
  double     Radius;
  double     Height;
  double     Offset;
  float     DefaultNormal[3];
  int       UseDefaultNormal;
  int       FieldDataArray;

private:
  vtkDataArray *Data;
  double    *DataRange;
  double   *Tuple;
  int       NumberOfComponents;
  int       ActiveComponent;
  int       StartComp;
  int       EndComp;

private:
  vtkArcPlotter(const vtkArcPlotter&) VTK_DELETE_FUNCTION;
  void operator=(const vtkArcPlotter&) VTK_DELETE_FUNCTION;
};

#endif