This file is indexed.

/usr/include/vtkQtChartBarLocator.h is in libvtk5-qt4-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
208
209
210
211
212
213
214
215
216
217
218
219
220
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    vtkQtChartBarLocator.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.
-------------------------------------------------------------------------*/

/// \file vtkQtChartBarLocator.h
/// \date October 1, 2008

#ifndef _vtkQtChartBarLocator_h
#define _vtkQtChartBarLocator_h

#include "vtkQtChartExport.h"
#include <QLinkedList> // Needed for parameter.
#include <QList> // Needed for parameter.

class vtkQtChartBar;
class QPointF;
class QRectF;


/// \class vtkQtChartBarLocatorNode
/// \brief
///   The vtkQtChartBarLocatorNode class is used to build a tree of
///   chart bar shapes.
class VTKQTCHART_EXPORT vtkQtChartBarLocatorNode
{
public:
  /// \brief
  ///   Constructs a chart bar locator node.
  /// \param element The chart bar element to wrap.
  vtkQtChartBarLocatorNode(vtkQtChartBar *element=0);
  ~vtkQtChartBarLocatorNode();

  /// \brief
  ///   Gets whether or not the bounding area contains the given point.
  /// \param point The position to evaluate.
  /// \return
  ///   True if the bounding area contains the given point.
  bool contains(const QPointF &point) const;

  /// \brief
  ///   Gets whether or not the bounding area intersects the given area.
  /// \param area The rectangle to evaluate.
  /// \return
  ///   True if the bounding area intersects the given area.
  bool intersects(const QRectF &area) const;

  /// \brief
  ///   Gets the bounding rectangle.
  /// \return
  ///   The bounding rectangle.
  const QRectF &getBounds() const {return *this->Bounds;}

  /// \brief
  ///   Sets the bounding rectangle.
  /// \param bounds The new bounding rectangle.
  void setBounds(const QRectF &bounds);

  /// \brief
  ///   Gets the chart shape element.
  /// \return
  ///   A pointer to the chart shape element.
  vtkQtChartBar *getElement() const {return this->Element;}

  /// \brief
  ///   Sets the chart shape element.
  /// \param element The new chart shape element.
  void setElement(vtkQtChartBar *element);

  /// \brief
  ///   Gets the parent node.
  /// \return
  ///   A pointer to the parent node.
  vtkQtChartBarLocatorNode *getParent() const {return this->Parent;}

  /// \brief
  ///   Sets the parent node.
  /// \param parent The new parent node.
  void setParent(vtkQtChartBarLocatorNode *parent) {this->Parent = parent;}

  /// \brief
  ///   Gets whether or not the node has children.
  /// \return
  ///   True if the node has children.
  bool hasChildren() const {return this->First || this->Second;}

  /// \brief
  ///   Gets the first child node.
  /// \return
  ///   A pointer to the first child node.
  vtkQtChartBarLocatorNode *getFirst() const {return this->First;}

  /// \brief
  ///   Sets the first child node.
  /// \param first The first child node.
  void setFirst(vtkQtChartBarLocatorNode *first) {this->First = first;}

  /// \brief
  ///   Gets the second child node.
  /// \return
  ///   A pointer to the second child node.
  vtkQtChartBarLocatorNode *getSecond() const {return this->Second;}

  /// \brief
  ///   Sets the second child node.
  /// \param second The second child node.
  void setSecond(vtkQtChartBarLocatorNode *second) {this->Second = second;}

  /// \brief
  ///   Updates the bounding rectangle.
  ///
  /// The bounding rectangle is the bounds of the element or the
  /// bounds of the child nodes.
  void updateBounds();

private:
  QRectF *Bounds;                   ///< Stores the bounding rectangle.
  vtkQtChartBar *Element;           ///< Stores the shape element.
  vtkQtChartBarLocatorNode *Parent; ///< Stores the parent node.
  vtkQtChartBarLocatorNode *First;  ///< Stores the first child node.
  vtkQtChartBarLocatorNode *Second; ///< Stores the second child node.

private:
  vtkQtChartBarLocatorNode(const vtkQtChartBarLocatorNode &);
  vtkQtChartBarLocatorNode &operator=(const vtkQtChartBarLocatorNode &);
};


/// \class vtkQtChartBarLocator
/// \brief
///   The vtkQtChartBarLocator class is used to locate bars in a tree
///   structure.
///
/// The tree is built from a list of bars. The leaf nodes store the
/// bars. The bounding rectangles can be updated if the layout
/// remains unchanged.
class VTKQTCHART_EXPORT vtkQtChartBarLocator
{
public:
  vtkQtChartBarLocator();
  ~vtkQtChartBarLocator();

  /// Removes all the tree items.
  void clear();

  /// \brief
  ///   Builds a bar tree from the ordered list of rectangles.
  ///
  /// The bar pointers are stored by the tree and should not be
  /// deleted until the tree has been cleared.
  ///
  /// \param list The ordered list of rectangles.
  void build(const QList<vtkQtChartBar *> &list);

  /// \brief
  ///   Updates the bounding rectangles in the bar tree.
  ///
  /// The nodes are traversed from last to first. The bounding
  /// rectangle of each node is updated using the bar if it is a leaf
  /// or the bounds of the children otherwise.
  void update();

  /// \brief
  ///   Gets the bar at the specified point.
  /// \param point The point to search.
  /// \return
  ///   A pointer to the bar at the given point.
  vtkQtChartBar *getItemAt(const QPointF &point) const;

  /// \brief
  ///   Gets the bars in the specified rectangle.
  /// \param area The rectangle to search.
  /// \return
  ///   The list of bars in the given rectangle.
  QList<vtkQtChartBar *> getItemsIn(const QRectF &area) const;

  /// \brief
  ///   Gets the last node in the tree.
  /// \return
  ///   A pointer to the last node in the tree.
  vtkQtChartBarLocatorNode *getLast();

  /// \brief
  ///   Gets the previous node in the tree.
  /// \param node The node to search from.
  /// \return
  ///   A pointer to the previous node in the tree.
  vtkQtChartBarLocatorNode *getPrevious(vtkQtChartBarLocatorNode *node);

private:
  /// \brief
  ///   Builds a bar tree from the ordered list of items.
  /// \param list The ordered list of items.
  void buildTree(QLinkedList<vtkQtChartBarLocatorNode *> &list) const;

private:
  vtkQtChartBarLocatorNode *Root;          ///< Stores the tree root.
  QList<vtkQtChartBarLocatorNode *> Items; ///< Stores the item list.

private:
  vtkQtChartBarLocator(const vtkQtChartBarLocator &);
  vtkQtChartBarLocator &operator=(const vtkQtChartBarLocator &);
};

#endif