This file is indexed.

/usr/include/vtk-5.8/vtkHyperOctreeSampleFunction.h is in libvtk5-dev 5.8.0-5.

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
202
203
204
205
206
207
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    vtkHyperOctreeSampleFunction.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.

=========================================================================*/
// .NAME vtkHyperOctreeSampleFunction - sample an implicit function over an
// hyperoctree
// .SECTION Description
// vtkHyperOctreeSampleFunction is a source object that evaluates an implicit
// function to drive the subdivision process. The user can specify
// the threshold over which a subdivision occurs, the maximum and minimum
// level of subdivisions and the dimension of the hyperoctree.
//
// .SECTION See Also
// vtkSampleFunction

#ifndef __vtkHyperOctreeSampleFunction_h
#define __vtkHyperOctreeSampleFunction_h

#include "vtkHyperOctreeAlgorithm.h"

class vtkImplicitFunction;

class VTK_GRAPHICS_EXPORT vtkHyperOctreeSampleFunction : public vtkHyperOctreeAlgorithm
{
public:
  vtkTypeMacro(vtkHyperOctreeSampleFunction,vtkHyperOctreeAlgorithm);
  void PrintSelf(ostream& os, vtkIndent indent);
  
  static vtkHyperOctreeSampleFunction *New();

  // Description:
  // Return the maximum number of levels of the hyperoctree.
  // \post positive_result: result>=1
  int GetLevels();
  
  // Description:
  // Set the maximum number of levels of the hyperoctree. If
  // GetMinLevels()>=levels, GetMinLevels() is changed to levels-1.
  // \pre positive_levels: levels>=1
  // \post is_set: this->GetLevels()==levels
  // \post min_is_valid: this->GetMinLevels()<this->GetLevels()
  void SetLevels(int levels);
  
  // Description:
  // Return the minimal number of levels of systematic subdivision.
  // \post positive_result: result>=0
  int GetMinLevels();
  
  // Description:
  // Set the minimal number of levels of systematic subdivision.
  // \pre positive_minLevels: minLevels>=0
  // \post is_set: this->GetMinLevels()==minLevels
  void SetMinLevels(int minLevels);
  
  // Description:
  // Return the threshold over which a subdivision is required.
  // \post positive_result: result>0
  double GetThreshold();
  
  // Description:
  // Set the threshold over which a subdivision is required.
  // \pre positive_threshold: threshold>=0
  // \post is_set: this->GetThreshold()==threshold
  void SetThreshold(double threshold);
  
  // Description:
  // Return the dimension of the tree (1D:binary tree(2 children), 2D:quadtree(4 children),
  // 3D:octree (8 children))
  // \post valid_result: result>=1 && result<=3
  int GetDimension();
  
   // Set the dimension of the tree with `dim'. See GetDimension() for details.
  // \pre valid_dim: dim>=1 && dim<=3
  // \post dimension_is_set: GetDimension()==dim
  void SetDimension(int dim);
    
  // Description:
  // Set the size on each axis.
  vtkSetVector3Macro(Size,double);
  
  // Description:
  // Return the size on each axis.
  vtkGetVector3Macro(Size,double);
  
  // Description:
  // Set the origin (position of corner (0,0,0) of the root.
  vtkSetVector3Macro(Origin,double);
  // Return the origin (position of corner (0,0,0) ) of the root.
  vtkGetVector3Macro(Origin,double);
  
  // Description:
  // Return the length along the x-axis.
  // \post positive_result: result>0
  double GetWidth();
  
  // Description:
  // Set the length along the x-axis.
  // \pre positive_width: width>0
  // \post width_is_set: GetWidth()==width
  void SetWidth(double width);
  
  // Description:
  // Return the length along the y-axis.
  // Relevant only if GetDimension()>=2
  // \post positive_result: result>0
  double GetHeight();
  
  // Description:
  // Set the length along the y-axis.
  // Relevant only if GetDimension()>=2
  // \pre positive_height: height>0
  // \post height_is_set: GetHeight()==height
  void SetHeight(double height);
  
  // Description:
  // Return the length along the z-axis.
  // Relevant only if GetDimension()>=3
  // \post positive_result: result>0
  double GetDepth();
  
  // Description:
  // Return the length along the z-axis.
  // Relevant only if GetDimension()>=3
  // \pre positive_depth: depth>0
  // \post depth_is_set: GetDepth()==depth
  void SetDepth(double depth);
  
  // Description:
  // Specify the implicit function to use to generate data.
  virtual void SetImplicitFunction(vtkImplicitFunction*);
  vtkGetObjectMacro(ImplicitFunction,vtkImplicitFunction);

  // Description:
  // Set what type of scalar data this source should generate.
  vtkSetMacro(OutputScalarType,int);
  vtkGetMacro(OutputScalarType,int);
  void SetOutputScalarTypeToDouble()
    {this->SetOutputScalarType(VTK_DOUBLE);}
  void SetOutputScalarTypeToFloat()
    {this->SetOutputScalarType(VTK_FLOAT);}
  void SetOutputScalarTypeToLong()
    {this->SetOutputScalarType(VTK_LONG);}
  void SetOutputScalarTypeToUnsignedLong()
    {this->SetOutputScalarType(VTK_UNSIGNED_LONG);};
  void SetOutputScalarTypeToInt()
    {this->SetOutputScalarType(VTK_INT);}
  void SetOutputScalarTypeToUnsignedInt()
    {this->SetOutputScalarType(VTK_UNSIGNED_INT);}
  void SetOutputScalarTypeToShort()
    {this->SetOutputScalarType(VTK_SHORT);}
  void SetOutputScalarTypeToUnsignedShort()
    {this->SetOutputScalarType(VTK_UNSIGNED_SHORT);}
  void SetOutputScalarTypeToChar()
    {this->SetOutputScalarType(VTK_CHAR);}
  void SetOutputScalarTypeToUnsignedChar()
    {this->SetOutputScalarType(VTK_UNSIGNED_CHAR);}

  // Description:
  // Return the MTime also considering the implicit function.
  unsigned long GetMTime();

protected:
  // Description:
  // Default constructor.
  // Set dimension to 3, width, height and depth to 1, levels to 5, minLevels
  // to 1, implicitFunction to 0, OutputScalarType to VTK_DOUBLE,
  // Threshold is 0.1.
  vtkHyperOctreeSampleFunction();
  ~vtkHyperOctreeSampleFunction();
  

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

  void Subdivide(vtkHyperOctreeCursor *cursor,
                 int level,
                 vtkHyperOctree *output);
  
  int Dimension;
  double Size[3]; // size on each axis
  double Origin[3]; // position of corner (0,0,0) of the root.
  int Levels;
  int MinLevels;
  
  int OutputScalarType;
  vtkImplicitFunction *ImplicitFunction;
  double Threshold;
  
private:
  vtkHyperOctreeSampleFunction(const vtkHyperOctreeSampleFunction&);  // Not implemented.
  void operator=(const vtkHyperOctreeSampleFunction&);  // Not implemented.
};

#endif