This file is indexed.

/usr/include/vtk-6.3/vtkPhyloXMLTreeWriter.h is in libvtk6-dev 6.3.0+dfsg1-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
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    vtkPhyloXMLTreeWriter.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 vtkPhyloXMLTreeWriter - write vtkTree data to PhyloXML format.
// .SECTION Description
// vtkPhyloXMLTreeWriter is writes a vtkTree to a PhyloXML formatted file
// or string.

#ifndef vtkPhyloXMLTreeWriter_h
#define vtkPhyloXMLTreeWriter_h

#include "vtkIOInfovisModule.h" // For export macro
#include "vtkXMLWriter.h"
#include "vtkSmartPointer.h"    // For SP ivars
#include "vtkStdString.h"       // For get/set ivars

class vtkStringArray;
class vtkTree;
class vtkXMLDataElement;

class VTKIOINFOVIS_EXPORT vtkPhyloXMLTreeWriter : public vtkXMLWriter
{
public:
  static vtkPhyloXMLTreeWriter *New();
  vtkTypeMacro(vtkPhyloXMLTreeWriter,vtkXMLWriter);
  void PrintSelf(ostream& os, vtkIndent indent);

  // Description:
  // Get the input to this writer.
  vtkTree* GetInput();
  vtkTree* GetInput(int port);

  // Description:
  // Get the default file extension for files written by this writer.
  virtual const char* GetDefaultFileExtension();

  // Description:
  // Get/Set the name of the input's tree edge weight array.
  // This array must be part of the input tree's EdgeData.
  // The default name is "weight".  If this array cannot be
  // found, then no edge weights will be included in the
  // output of this writer.
  vtkGetMacro(EdgeWeightArrayName, vtkStdString);
  vtkSetMacro(EdgeWeightArrayName, vtkStdString);

  // Description:
  // Get/Set the name of the input's tree node name array.
  // This array must be part of the input tree's VertexData.
  // The default name is "node name".  If this array cannot
  // be found, then no node names will be included in the
  // output of this writer.
  vtkGetMacro(NodeNameArrayName, vtkStdString);
  vtkSetMacro(NodeNameArrayName, vtkStdString);

  // Description:
  // Do not include name the VertexData array in the PhyloXML output
  // of this writer.  Call this function once for each array that
  // you wish to ignore.
  void IgnoreArray(const char * arrayName);

protected:
  vtkPhyloXMLTreeWriter();
  ~vtkPhyloXMLTreeWriter() {}

  virtual int WriteData();

  virtual const char* GetDataSetName();
  virtual int StartFile();
  virtual int EndFile();

  // Description:
  // Check for an optional, tree-level element and write it out if it is
  // found.
  void WriteTreeLevelElement(vtkTree *input,
                             vtkXMLDataElement *rootElement,
                             const char *elementName,
                             const char *attributeName);

  // Description:
  // Search for any tree-level properties and write them out if they are found.
  void WriteTreeLevelProperties(vtkTree *input, vtkXMLDataElement *rootElement);

  // Description:
  // Convert one vertex to PhyloXML.  This function calls itself recursively
  // for any children of the input vertex.
  void WriteCladeElement(vtkTree* const input, vtkIdType vertex,
                   vtkXMLDataElement *parentElement);

  // Description:
  // Write the branch length attribute for the specified vertex.
  void WriteBranchLengthAttribute(vtkTree* const input, vtkIdType vertex,
                                  vtkXMLDataElement *element);

  // Description:
  // Write the name element for the specified vertex.
  void WriteNameElement(vtkIdType vertex, vtkXMLDataElement *element);

  // Description:
  // Write the confidence element for the specified vertex.
  void WriteConfidenceElement(vtkTree* const input, vtkIdType vertex,
                              vtkXMLDataElement *element);

  // Description:
  // Write the color element and its subelements (red, green, blue)
  // for the specified vertex.
  void WriteColorElement(vtkTree* const input, vtkIdType vertex,
                         vtkXMLDataElement *element);

  // Description:
  // Write a property element as a child of the specified vtkXMLDataElement.
  void WritePropertyElement(vtkAbstractArray *array, vtkIdType vertex,
                            vtkXMLDataElement *element);

  // Description:
  // Get the value of the requested attribute from the specified array's
  // vtkInformation.
  const char* GetArrayAttribute(vtkAbstractArray *array,
                                const char *attributeName);

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

  vtkInformation* InputInformation;

  vtkStdString EdgeWeightArrayName;
  vtkStdString NodeNameArrayName;

  vtkAbstractArray *EdgeWeightArray;
  vtkAbstractArray *NodeNameArray;
  vtkSmartPointer<vtkStringArray> Blacklist;

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

#endif