This file is indexed.

/usr/include/vtk-6.3/vtkXMLUnstructuredDataWriter.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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    vtkXMLUnstructuredDataWriter.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 vtkXMLUnstructuredDataWriter - Superclass for VTK XML unstructured data writers.
// .SECTION Description
// vtkXMLUnstructuredDataWriter provides VTK XML writing functionality
// that is common among all the unstructured data formats.

#ifndef vtkXMLUnstructuredDataWriter_h
#define vtkXMLUnstructuredDataWriter_h

#include "vtkIOXMLModule.h" // For export macro
#include "vtkXMLWriter.h"

class vtkPointSet;
class vtkCellArray;
class vtkCellIterator;
class vtkDataArray;
class vtkIdTypeArray;
class vtkUnstructuredGrid;

class VTKIOXML_EXPORT vtkXMLUnstructuredDataWriter : public vtkXMLWriter
{
public:
  vtkTypeMacro(vtkXMLUnstructuredDataWriter,vtkXMLWriter);
  void PrintSelf(ostream& os, vtkIndent indent);

  // Description:
  // Get/Set the number of pieces used to stream the image through the
  // pipeline while writing to the file.
  vtkSetMacro(NumberOfPieces, int);
  vtkGetMacro(NumberOfPieces, int);

  // Description:
  // Get/Set the piece to write to the file.  If this is
  // negative or equal to the NumberOfPieces, all pieces will be written.
  vtkSetMacro(WritePiece, int);
  vtkGetMacro(WritePiece, int);

  // Description:
  // Get/Set the ghost level used to pad each piece.
  vtkSetMacro(GhostLevel, int);
  vtkGetMacro(GhostLevel, int);

  // See the vtkAlgorithm for a desciption of what these do
  int ProcessRequest(vtkInformation*,
                     vtkInformationVector**,
                     vtkInformationVector*);

protected:
  vtkXMLUnstructuredDataWriter();
  ~vtkXMLUnstructuredDataWriter();

  vtkPointSet* GetInputAsPointSet();
  virtual const char* GetDataSetName()=0;
  virtual void SetInputUpdateExtent(int piece, int numPieces,
                                    int ghostLevel);

  virtual int WriteHeader();
  virtual int WriteAPiece();
  virtual int WriteFooter();

  virtual void AllocatePositionArrays();
  virtual void DeletePositionArrays();

  virtual int WriteInlineMode(vtkIndent indent);
  virtual void WriteInlinePieceAttributes();
  virtual void WriteInlinePiece(vtkIndent indent);

  virtual void WriteAppendedPieceAttributes(int index);
  virtual void WriteAppendedPiece(int index, vtkIndent indent);
  virtual void WriteAppendedPieceData(int index);

  void WriteCellsInline(const char* name, vtkCellIterator *cellIter,
                        vtkIdType numCells, vtkIdType cellSizeEstimate,
                        vtkIndent indent);

  void WriteCellsInline(const char* name, vtkCellArray* cells,
                        vtkDataArray* types, vtkIndent indent);

  // New API with face infomration for polyhedron cell support.
  void WriteCellsInline(const char* name, vtkCellArray* cells,
                        vtkDataArray* types, vtkIdTypeArray* faces,
                        vtkIdTypeArray* faceOffsets, vtkIndent indent);

  void WriteCellsInlineWorker(const char* name, vtkDataArray *types,
                              vtkIndent indent);

  void WriteCellsAppended(const char* name, vtkDataArray* types,
                          vtkIndent indent, OffsetsManagerGroup *cellsManager);

  void WriteCellsAppended(const char* name, vtkCellIterator *cellIter,
                          vtkIdType numCells, vtkIndent indent,
                          OffsetsManagerGroup *cellsManager);

  void WriteCellsAppendedData(vtkCellArray* cells, vtkDataArray* types,
                              int timestep, OffsetsManagerGroup *cellsManager);

  void WriteCellsAppendedData(vtkCellIterator* cellIter, vtkIdType numCells,
                              vtkIdType cellSizeEstimate, int timestep,
                              OffsetsManagerGroup *cellsManager);

  // New API with face infomration for polyhedron cell support.
  void WriteCellsAppendedData(vtkCellArray* cells, vtkDataArray* types,
                              vtkIdTypeArray* faces,vtkIdTypeArray* faceOffsets,
                              int timestep, OffsetsManagerGroup *cellsManager);

  void WriteCellsAppendedDataWorker(vtkDataArray* types, int timestep,
                                    OffsetsManagerGroup *cellsManager);

  void ConvertCells(vtkCellIterator* cellIter, vtkIdType numCells,
                    vtkIdType cellSizeEstimate);

  void ConvertCells(vtkCellArray* cells);

  // For polyhedron support, conversion results are stored in Faces and FaceOffsets
  void ConvertFaces(vtkIdTypeArray* faces, vtkIdTypeArray* faceOffsets);

  // Get the number of points/cells.  Valid after Update has been
  // invoked on the input.
  virtual vtkIdType GetNumberOfInputPoints();
  virtual vtkIdType GetNumberOfInputCells()=0;
  void CalculateDataFractions(float* fractions);
  void CalculateCellFractions(float* fractions, vtkIdType typesSize);

  // Number of pieces used for streaming.
  int NumberOfPieces;

  // Which piece to write, if not all.
  int WritePiece;

  // The ghost level on each piece.
  int GhostLevel;

  // Positions of attributes for each piece.
  vtkTypeInt64* NumberOfPointsPositions;

  // For TimeStep support
  OffsetsManagerGroup *PointsOM;
  OffsetsManagerArray *PointDataOM;
  OffsetsManagerArray *CellDataOM;

  // Hold the new cell representation arrays while writing a piece.
  vtkIdTypeArray* CellPoints;
  vtkIdTypeArray* CellOffsets;

  int CurrentPiece;

  // Hold the face arrays for polyhedron cells.
  vtkIdTypeArray* Faces;
  vtkIdTypeArray* FaceOffsets;

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

#endif