This file is indexed.

/usr/include/vtk-7.1/vtkArcSource.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
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    vtkArcSource.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   vtkArcSource
 * @brief   create a circular arc
 *
 *
 * vtkArcSource is a source object that creates an arc defined by two
 * endpoints and a center. The number of segments composing the polyline
 * is controlled by setting the object resolution.
 * Alternatively, one can use a better API (that does not allow for
 * inconsistent nor ambiguous inputs), using a starting point (polar vector,
 * measured from the arc's center), a normal to the plane of the arc,
 * and an angle defining the arc length.
 * Since the default API remains the original one, in order to use
 * the improved API, one must switch the UseNormalAndAngle flag to TRUE.
 *
 * The development of an improved, consistent API (based on point, normal,
 * and angle) was supported by CEA/DIF - Commissariat a l'Energie Atomique,
 * Centre DAM Ile-De-France, BP12, F-91297 Arpajon, France, and implemented
 * by Philippe Pebay, Kitware SAS 2012.
 *
 * @sa
 * vtkEllipseArcSource
*/

#ifndef vtkArcSource_h
#define vtkArcSource_h

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

class VTKFILTERSSOURCES_EXPORT vtkArcSource : public vtkPolyDataAlgorithm
{
public:
  static vtkArcSource *New();
  vtkTypeMacro(vtkArcSource,vtkPolyDataAlgorithm);
  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;

  //@{
  /**
   * Set position of the first end point.
   */
  vtkSetVector3Macro(Point1,double);
  vtkGetVectorMacro(Point1,double,3);
  //@}

  //@{
  /**
   * Set position of the other end point.
   */
  vtkSetVector3Macro(Point2,double);
  vtkGetVectorMacro(Point2,double,3);
  //@}

  //@{
  /**
   * Set position of the center of the circle that defines the arc.
   * Note: you can use the function vtkMath::Solve3PointCircle to
   * find the center from 3 points located on a circle.
   */
  vtkSetVector3Macro(Center,double);
  vtkGetVectorMacro(Center,double,3);
  //@}

  //@{
  /**
   * Set the normal vector to the plane of the arc.
   * By default it points in the positive Z direction.
   * Note: This is only used when UseNormalAndAngle is ON.
   */
  vtkSetVector3Macro(Normal,double);
  vtkGetVectorMacro(Normal,double,3);
  //@}

  //@{
  /**
   * Set polar vector (starting point of the arc).
   * By default it is the unit vector in the positive X direction.
   * Note: This is only used when UseNormalAndAngle is ON.
   */
  vtkSetVector3Macro(PolarVector,double);
  vtkGetVectorMacro(PolarVector,double,3);
  //@}

  //@{
  /**
   * Arc length (in degrees), beginning at the polar vector.
   * The direction is counterclockwise by default;
   * a negative value draws the arc in the clockwise direction.
   * Note: This is only used when UseNormalAndAngle is ON.
   */
  vtkSetClampMacro(Angle,double,-360.0,360.0);
  vtkGetMacro(Angle,double);
  //@}

  //@{
  /**
   * Define the number of segments of the polyline that draws the arc.
   * Note: if the resolution is set to 1 (the default value),
   * the arc is drawn as a straight line.
   */
  vtkSetClampMacro(Resolution,int,1,VTK_INT_MAX);
  vtkGetMacro(Resolution,int);
  //@}

  //@{
  /**
   * By default the arc spans the shortest angular sector point1 and point2.
   * By setting this to true, the longest angular sector is used instead
   * (i.e. the negative coterminal angle to the shortest one).
   * Note: This is only used when UseNormalAndAngle is OFF. False by default.
   */
  vtkSetMacro(Negative, bool);
  vtkGetMacro(Negative, bool);
  vtkBooleanMacro(Negative, bool);
  //@}

  //@{
  /**
   * Activate the API based on a normal vector, a starting point
   * (polar vector) and an angle defining the arc length.
   * The previous API (which remains the default) allows for inputs that are
   * inconsistent (when Point1 and Point2 are not equidistant from Center)
   * or ambiguous (when Point1, Point2, and Center are aligned).
   * Note: false by default.
   */
  vtkSetMacro(UseNormalAndAngle, bool);
  vtkGetMacro(UseNormalAndAngle, bool);
  vtkBooleanMacro(UseNormalAndAngle, bool);
  //@}

  //@{
  /**
   * Set/get the desired precision for the output points.
   * vtkAlgorithm::SINGLE_PRECISION - Output single-precision floating point.
   * vtkAlgorithm::DOUBLE_PRECISION - Output double-precision floating point.
   */
  vtkSetMacro(OutputPointsPrecision,int);
  vtkGetMacro(OutputPointsPrecision,int);
  //@}

protected:
  vtkArcSource(int res=1);
  ~vtkArcSource() VTK_OVERRIDE {}

  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
  double Point1[3];
  double Point2[3];
  double Center[3];
  double Normal[3];
  double PolarVector[3];
  double Angle;
  int Resolution;
  bool Negative;
  bool UseNormalAndAngle;
  int OutputPointsPrecision;

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

#endif