This file is indexed.

/usr/include/vtk-5.8/vtkPairwiseExtractHistogram2D.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
/*=========================================================================

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

=========================================================================*/
/*-------------------------------------------------------------------------
  Copyright 2009 Sandia Corporation.
  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
  the U.S. Government retains certain rights in this software.
-------------------------------------------------------------------------*/
// .NAME vtkPairwiseExtractHistogram2D - compute a 2D histogram between 
//  all adjacent columns of an input vtkTable.
//
// .SECTION Description
//  This class computes a 2D histogram between all adjacent pairs of columns 
//  of an input vtkTable. Internally it creates multiple vtkExtractHistogram2D
//  instances (one for each pair of adjacent table columns).  It also
//  manages updating histogram computations intelligently, only recomputing
//  those histograms for whom a relevant property has been altered.
//
//  Note that there are two different outputs from this filter.  One is a 
//  table for which each column contains a flattened 2D histogram array.
//  The other is a vtkMultiBlockDataSet for which each block is a 
//  vtkImageData representation of the 2D histogram.
//
// .SECTION See Also
//  vtkExtractHistogram2D vtkPPairwiseExtractHistogram2D
// 
// .SECTION Thanks
//  Developed by David Feng and Philippe Pebay at Sandia National Laboratories
//------------------------------------------------------------------------------
#ifndef __vtkPairwiseExtractHistogram2D_h
#define __vtkPairwiseExtractHistogram2D_h

#include "vtkStatisticsAlgorithm.h"
#include "vtkSmartPointer.h"  //needed for smart pointer ivars
class vtkCollection;
class vtkExtractHistogram2D;
class vtkImageData;
class vtkIdTypeArray;
class vtkMultiBlockDataSet;

class VTK_INFOVIS_EXPORT vtkPairwiseExtractHistogram2D : public vtkStatisticsAlgorithm
{
public:
  static vtkPairwiseExtractHistogram2D* New();
  vtkTypeMacro(vtkPairwiseExtractHistogram2D, vtkStatisticsAlgorithm);
  void PrintSelf(ostream& os, vtkIndent indent);

  // Description:
  // Set/get the bin dimensions of the histograms to compute
  vtkSetVector2Macro(NumberOfBins,int);
  vtkGetVector2Macro(NumberOfBins,int);

  // Description:
  // Strange method for setting an index to be used for setting custom 
  // column range. This was (probably) necessary to get this class
  // to interact with the ParaView client/server message passing interface.
  vtkSetMacro(CustomColumnRangeIndex,int);
  void SetCustomColumnRangeByIndex(double,double);

  // Description:
  // More standard way to set the custom range for a particular column.
  // This makes sure that only the affected histograms know that they
  // need to be updated.
  void SetCustomColumnRange(int col, double range[2]);
  void SetCustomColumnRange(int col, double rmin, double rmax);

  // Description:
  // Set the scalar type for each of the computed histograms.
  vtkSetMacro(ScalarType,int);
  void SetScalarTypeToUnsignedInt()
    {this->SetScalarType(VTK_UNSIGNED_INT);};
  void SetScalarTypeToUnsignedLong()
    {this->SetScalarType(VTK_UNSIGNED_LONG);};
  void SetScalarTypeToUnsignedShort()
    {this->SetScalarType(VTK_UNSIGNED_SHORT);};
  void SetScalarTypeToUnsignedChar()
    {this->SetScalarType(VTK_UNSIGNED_CHAR);};
  vtkGetMacro(ScalarType,int);
  
  // Description:
  // Get the maximum bin count for a single histogram
  double GetMaximumBinCount(int idx);

  // Description:
  // Get the maximum bin count over all histograms
  double GetMaximumBinCount();

  // Description:
  // Compute the range of the bin located at position (binX,binY) in
  // the 2D histogram at idx.
  int GetBinRange(int idx, vtkIdType binX, vtkIdType binY, double range[4]);

  // Description:
  // Get the range of the of the bin located at 1D position index bin
  // in the 2D histogram array at idx.
  int GetBinRange(int idx, vtkIdType bin, double range[4]);

  // Description:
  // Get the width of all of the bins. Also stored in the spacing
  // ivar of the histogram image output at idx.
  void GetBinWidth(int idx, double bw[2]);
  
  // Description:
  // Get the histogram extents currently in use, either computed
  // or set by the user for the idx'th histogram.
  double* GetHistogramExtents(int idx);

  // Description:
  // Get the vtkImageData output of the idx'th histogram filter
  vtkImageData* GetOutputHistogramImage(int idx);

  // Description:
  // Get a pointer to the idx'th histogram filter.
  vtkExtractHistogram2D* GetHistogramFilter(int idx);

//BTX
  enum OutputIndices
  {
    HISTOGRAM_IMAGE=3
  };
//ETX

  // Description:
  // Given a collection of models, calculate aggregate model.  Not used
  virtual void Aggregate( vtkDataObjectCollection*, vtkMultiBlockDataSet* ) {};

protected:
  vtkPairwiseExtractHistogram2D();
  ~vtkPairwiseExtractHistogram2D();

  int NumberOfBins[2];
  int ScalarType;
  int CustomColumnRangeIndex;

  //BTX
  vtkSmartPointer<vtkIdTypeArray> OutputOutlierIds;
  vtkSmartPointer<vtkCollection> HistogramFilters;
  class Internals;
  Internals* Implementation;
  //ETX

  // Description:
  // Execute the calculations required by the Learn option.
  // Does the actual histogram computation works.
  virtual void Learn( vtkTable* inData,
                      vtkTable* inParameters,
                      vtkMultiBlockDataSet* outMeta );

  // Description:
  // Execute the calculations required by the Derive option. Not used.
  virtual void Derive( vtkMultiBlockDataSet* ) {};

  // Description:
  // Execute the assess option. Not implemented.
  virtual void Assess( vtkTable*, 
                       vtkMultiBlockDataSet*, 
                       vtkTable* ) {};

  // Description:
  // Execute the calculations required by the Test option.
  virtual void Test( vtkTable*,
                     vtkMultiBlockDataSet*,
                     vtkTable* ) { return; }; 

  // Description:
  // Provide the appropriate assessment functor.
  virtual void SelectAssessFunctor( vtkTable* vtkNotUsed(outData), 
                                    vtkDataObject* vtkNotUsed(inMeta),
                                    vtkStringArray* vtkNotUsed(rowNames),
                                    AssessFunctor*& vtkNotUsed(dfunc) ) {};
  
  // Description:
  // Generate a new histogram filter 
  virtual vtkExtractHistogram2D* NewHistogramFilter();

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

  vtkTimeStamp BuildTime;
private:
  vtkPairwiseExtractHistogram2D(const vtkPairwiseExtractHistogram2D&); // Not implemented
  void operator=(const vtkPairwiseExtractHistogram2D&);   // Not implemented
};

#endif