This file is indexed.

/usr/include/vtk-6.2/vtkConeLayoutStrategy.h is in libvtk6-dev 6.2.0+dfsg1-10build1.

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
/*=========================================================================

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

// .NAME vtkConeLayoutStrategy - produce a cone-tree layout for a forest
// .SECTION Description
// vtkConeLayoutStrategy positions the nodes of a tree(forest) in 3D
// space based on the cone-tree approach first described by
// Robertson, Mackinlay and Card in Proc. CHI'91.  This
// implementation incorporates refinements to the layout
// developed by Carriere and Kazman, and by Auber.
//
// The input graph must be a forest (i.e. a set of trees, or a
// single tree); in the case of a forest, the input will be
// converted to a single tree by introducing a new root node,
// and connecting each root in the input forest to the meta-root.
// The tree is then laid out, after which the meta-root is removed.
//
// The cones are positioned so that children lie in planes parallel
// to the X-Y plane, with the axis of cones parallel to Z, and
// with Z coordinate increasing with distance of nodes from the root.
//
// .SECTION Thanks
// Thanks to David Duke from the University of Leeds for providing this
// implementation.


#ifndef vtkConeLayoutStrategy_h
#define vtkConeLayoutStrategy_h

#include "vtkInfovisLayoutModule.h" // For export macro
#include "vtkGraphLayoutStrategy.h"

class vtkPoints;

class VTKINFOVISLAYOUT_EXPORT vtkConeLayoutStrategy : public vtkGraphLayoutStrategy
{
public:
  static vtkConeLayoutStrategy *New();

  vtkTypeMacro(vtkConeLayoutStrategy, vtkGraphLayoutStrategy);
  void PrintSelf(ostream& os, vtkIndent indent);

  // Description:
  // Determine the compactness, the ratio between the
  // average width of a cone in the tree, and the
  // height of the cone.  The default setting is 0.75
  // which (empirically) seems reasonable, but this
  // will need adapting depending on the data.
  vtkSetMacro(Compactness, float);
  vtkGetMacro(Compactness, float);

  // Description:
  // Determine if layout should be compressed, i.e. the
  // layout puts children closer together, possibly allowing
  // sub-trees to overlap.  This is useful if the tree is
  // actually the spanning tree of a graph.  For "real" trees,
  // non-compressed layout is best, and is the default.
  vtkSetMacro(Compression, int);
  vtkGetMacro(Compression, int);
  vtkBooleanMacro(Compression, int);

  // Description:
  // Set the spacing parameter that affects space between
  // layers of the tree.  If compression is on, Spacing is the
  // actual distance between layers.  If compression is off,
  // actual distance also includes a factor of the compactness
  // and maximum cone radius.
  vtkSetMacro(Spacing, float);
  vtkGetMacro(Spacing, float);


  // Description:
  // Perform the layout.
  void Layout();

protected:
  vtkConeLayoutStrategy();
  ~vtkConeLayoutStrategy();

  // Description:
  // Helper operations for tree layout.  Layout is performed
  // in two traversals of the tree.  The first traversal finds
  // the position of child nodes relative to their parent. The
  // second traversal positions each node absolutely, working
  // from the initial position of the root node.

  double LocalPlacement(vtkIdType root, vtkPoints *points);

  void GlobalPlacement(
    vtkIdType root,
    vtkPoints *points,
    double refX,         // absolute x-y coordinate of
    double refY,         // parent node; z coordinate
    double level );      // derived from level.

  float Compactness;     // factor used in mapping layer to Z
  int   Compression;     // force a compact layout?
  float Spacing;         // Scale vertical spacing of cones.

  // Values accumulated for possible statistical use
  double MinRadius;
  double MaxRadius;
  int   NrCones;
  double SumOfRadii;

private:
  vtkConeLayoutStrategy(const vtkConeLayoutStrategy&);  // Not implemented.
  void operator=(const vtkConeLayoutStrategy&);  // Not implemented.
};

#endif