This file is indexed.

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

  Program:   Visualization Toolkit
  Module:    vtkGeoSource.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 2008 Sandia Corporation.
  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
  the U.S. Government retains certain rights in this software.
-------------------------------------------------------------------------*/
/**
 * @class   vtkGeoSource
 * @brief   A multi-resolution geographic data source
 *
 *
 * vtkGeoSource is an abstract superclass for all multi-resolution data sources
 * shown in a geographic view like vtkGeoView or vtkGeoView2D. vtkGeoSource
 * subclasses need to implement the FetchRoot() method, which fills a
 * vtkGeoTreeNode with the low-res data at the root, and FetchChild(), which
 * produces a refinement of a parent node. Other geovis classes such as
 * vtkGeoTerrain, vtkGeoTerrain2D, and vtkGeoAlignedImageSource use a
 * vtkGeoSource subclass to build their geometry or image caches which are
 * stored in trees. The source itself does not maintain the tree, but
 * simply provides a mechanism for generating refined tree nodes.
 *
 * Sources are multi-threaded. Each source may have one or more worker threads
 * associated with it, which this superclass manages. It is essential that the
 * FetchChild() method is thread-safe, since it may be called from multiple
 * workers simultaneously.
*/

#ifndef vtkGeoSource_h
#define vtkGeoSource_h

#include "vtkGeovisCoreModule.h" // For export macro
#include "vtkObject.h"

class vtkAbstractTransform;
class vtkCollection;
class vtkConditionVariable;
class vtkGeoTreeNode;
class vtkMultiThreader;
class vtkMutexLock;

class VTKGEOVISCORE_EXPORT vtkGeoSource : public vtkObject
{
public:
  vtkTypeMacro(vtkGeoSource,vtkObject);

  vtkGeoSource();
  ~vtkGeoSource();

  //@{
  /**
   * Blocking access methods to be implemented in subclasses.
   */
  virtual bool FetchRoot(vtkGeoTreeNode* root) = 0;
  virtual bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child) = 0;
  //@}

  //@{
  /**
   * Non-blocking methods for to use from the main application.
   * After calling RequestChildren() for a certain node,
   * GetRequestedNodes() will after a certain period of time return a
   * non-null pointer to a collection of four vtkGeoTreeNode objects,
   * which are the four children of the requested node.
   * The collection is reference counted, so you need to eventually
   * call Delete() on the returned collection pointer (if it is non-null).
   */
  virtual void RequestChildren(vtkGeoTreeNode* node);
  virtual vtkCollection* GetRequestedNodes(vtkGeoTreeNode* node);
  //@}

  /**
   * Spawn worker threads.
   */
  void Initialize(int numThreads = 1);

  /**
   * Shut down the source. This terminates the thread and releases memory.
   */
  void ShutDown();

  void WorkerThread();

  /**
   * Return the projection transformation used by this source.
   */
  virtual vtkAbstractTransform* GetTransform() { return NULL; }

protected:

  vtkCollection* InputSet;
  vtkCollection* ProcessingSet;

  //@{
  /**
   * Locks the set for reading or writing
   */
  vtkMutexLock* InputSetLock;
  vtkMutexLock* ProcessingSetLock;
  vtkMutexLock* OutputSetLock;
  //@}

  vtkMutexLock* Lock;

  vtkConditionVariable* Condition;

  vtkMultiThreader* Threader;
  bool StopThread;
  bool Initialized;

  class implementation;
  implementation* Implementation;

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

#endif // vtkGeoSource_h