This file is indexed.

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

Program:   Visualization Toolkit
Module:    vtkLinearSelector.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   vtkLinearSelector
 * @brief   select cells intersecting a line (possibly broken)
 *
 *
 * This filter takes a vtkCompositeDataSet as input and a line segment as parameter.
 * It outputs a vtkSelection identifying all the cells intersecting the given line segment.
 *
 * @par Thanks:
 * This class has been initially developed in the frame of CEA's Love visualization software development <br>
 * CEA/DIF - Commissariat a l'Energie Atomique, Centre DAM Ile-De-France <br>
 * BP12, F-91297 Arpajon, France. <br>
 * Modified and integrated into VTK, Kitware SAS 2012
 * This class was implemented by Thierry Carrard, Charles Pignerol, and Philippe Pebay.
*/

#ifndef vtkLinearSelector_h
#define vtkLinearSelector_h

#include "vtkFiltersSelectionModule.h" // For export macro
#include "vtkSelectionAlgorithm.h"

class vtkAlgorithmOutput;
class vtkDataSet;
class vtkDoubleArray;
class vtkIdTypeArray;
class vtkPoints;

class VTKFILTERSSELECTION_EXPORT vtkLinearSelector : public vtkSelectionAlgorithm
{
 public:
  vtkTypeMacro(vtkLinearSelector,vtkSelectionAlgorithm);
  void PrintSelf(ostream& os, vtkIndent indent);

  static vtkLinearSelector* New();

  //@{
  /**
   * Set/Get starting point of intersecting segment
   */
  vtkSetVector3Macro(StartPoint,double);
  vtkGetVectorMacro(StartPoint,double,3);
  //@}

  //@{
  /**
   * Set/Get end point of intersecting segment
   */
  vtkSetVector3Macro(EndPoint,double);
  vtkGetVectorMacro(EndPoint,double,3);
  //@}

  //@{
  /**
   * Set/Get the list of points defining the intersecting broken line
   */
  virtual void SetPoints(vtkPoints*);
  vtkGetObjectMacro(Points,vtkPoints);
  //@}

  //@{
  /**
   * Set/Get tolerance to be used by intersection algorithm
   */
  vtkSetMacro(Tolerance,double);
  vtkGetMacro(Tolerance,double);
  //@}

  //@{
  /**
   * Set/Get whether lines vertice are included in selection
   */
  vtkSetMacro(IncludeVertices,bool);
  vtkGetMacro(IncludeVertices,bool);
  vtkBooleanMacro(IncludeVertices,bool);
  //@}

  //@{
  /**
   * Set/Get relative tolerance for vertex elimination
   */
  vtkSetClampMacro(VertexEliminationTolerance,double,0.,.1 );
  vtkGetMacro(VertexEliminationTolerance,double);
  //@}

 protected:
  vtkLinearSelector();
  virtual ~vtkLinearSelector();

  virtual int FillInputPortInformation(int port, vtkInformation *info);

  virtual int RequestData(vtkInformation *request,
                          vtkInformationVector **inputVector,
                          vtkInformationVector *outputVector);

  /**
   * The main routine that iterates over cells and looks for those that
   * intersect at least one of the segments of interest
   */
  void SeekIntersectingCells(vtkDataSet* input, vtkIdTypeArray* outIndices);

 private:
  vtkLinearSelector(const vtkLinearSelector&) VTK_DELETE_FUNCTION;
  void operator =(const vtkLinearSelector&) VTK_DELETE_FUNCTION;

  //@{
  /**
   * Start and end point of the intersecting line segment
   * NB: These are used if and only if Points is null.
   */
  double StartPoint[3];
  double EndPoint[3];
  //@}

  /**
   * The list of points defining the intersecting broken line
   * NB: The Start/EndPoint definition of a single line segment is used by default
   */
  vtkPoints* Points;

  /**
   * Tolerance to be used by intersection algorithm
   */
  double Tolerance;

  /**
   * Decide whether lines vertice are included in selection
   * Default: true
   */
  bool IncludeVertices;

  //@{
  /**
   * Relative tolerance for vertex elimination
   * Default: 1e-6
   */
  double VertexEliminationTolerance;
};
  //@}


#endif // vtkLinearSelector_h