This file is indexed.

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

  Program:   Visualization Toolkit
  Module:    vtkStripper.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   vtkStripper
 * @brief   create triangle strips and/or poly-lines
 *
 *
 * vtkStripper is a filter that generates triangle strips and/or poly-lines
 * from input polygons, triangle strips, and lines. Input polygons are
 * assembled into triangle strips only if they are triangles; other types of
 * polygons are passed through to the output and not stripped. (Use
 * vtkTriangleFilter to triangulate non-triangular polygons prior to running
 * this filter if you need to strip all the data.) The filter will pass
 * through (to the output) vertices if they are present in the input
 * polydata. Also note that if triangle strips or polylines are defined in
 * the input they are passed through and not joined nor extended. (If you wish
 * to strip these use vtkTriangleFilter to fragment the input into triangles
 * and lines prior to running vtkStripper.)
 *
 * The ivar MaximumLength can be used to control the maximum
 * allowable triangle strip and poly-line length.
 *
 * By default, this filter discards any cell data associated with the input.
 * Thus is because the cell structure changes and and the old cell data
 * is no longer valid. When PassCellDataAsFieldData flag is set,
 * the cell data is passed as FieldData to the output using the following rule:
 * 1) for every cell in the output that is not a triangle strip,
 *    the cell data is inserted once per cell in the output field data.
 * 2) for every triangle strip cell in the output:
 *    ii) 1 tuple is inserted for every point(j|j>=2) in the strip.
 *    This is the cell data for the cell formed by (j-2, j-1, j) in
 *    the input.
 * The field data order is same as cell data i.e. (verts,line,polys,tsrips).
 *
 * @warning
 * If triangle strips or poly-lines exist in the input data they will
 * be passed through to the output data. This filter will only construct
 * triangle strips if triangle polygons are available; and will only
 * construct poly-lines if lines are available.
 *
 * @sa
 * vtkTriangleFilter
*/

#ifndef vtkStripper_h
#define vtkStripper_h

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

class VTKFILTERSCORE_EXPORT vtkStripper : public vtkPolyDataAlgorithm
{
public:
  vtkTypeMacro(vtkStripper,vtkPolyDataAlgorithm);
  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;

  /**
   * Construct object with MaximumLength set to 1000.
   */
  static vtkStripper *New();

  //@{
  /**
   * Specify the maximum number of triangles in a triangle strip,
   * and/or the maximum number of lines in a poly-line.
   */
  vtkSetClampMacro(MaximumLength,int,4,100000);
  vtkGetMacro(MaximumLength,int);
  //@}

  //@{
  /**
   * Enable/Disable passing of the CellData in the input to
   * the output as FieldData. Note the field data is transformed.
   */
  vtkBooleanMacro(PassCellDataAsFieldData, int);
  vtkSetMacro(PassCellDataAsFieldData, int);
  vtkGetMacro(PassCellDataAsFieldData, int);
  //@}

  //@{
  /**
   * If on, the output polygonal dataset will have a celldata array that
   * holds the cell index of the original 3D cell that produced each output
   * cell. This is useful for picking. The default is off to conserve
   * memory.
   */
  vtkSetMacro(PassThroughCellIds,int);
  vtkGetMacro(PassThroughCellIds,int);
  vtkBooleanMacro(PassThroughCellIds,int);
  //@}

  //@{
  /**
   * If on, the output polygonal dataset will have a pointdata array that
   * holds the point index of the original vertex that produced each output
   * vertex. This is useful for picking. The default is off to conserve
   * memory.
   */
  vtkSetMacro(PassThroughPointIds,int);
  vtkGetMacro(PassThroughPointIds,int);
  vtkBooleanMacro(PassThroughPointIds,int);
  //@}

  //@{
  /**
   * If on, the output polygonal segments will be joined if they are
   * contiguous. This is useful after slicing a surface. The default
   * is off.
   */
  vtkSetMacro(JoinContiguousSegments,int);
  vtkGetMacro(JoinContiguousSegments,int);
  vtkBooleanMacro(JoinContiguousSegments,int);
  //@}

protected:
  vtkStripper();
  ~vtkStripper() VTK_OVERRIDE {}

  // Usual data generation method
  int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;

  int MaximumLength;
  int PassCellDataAsFieldData;
  int PassThroughCellIds;
  int PassThroughPointIds;
  int JoinContiguousSegments;

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

#endif