This file is indexed.

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

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

=========================================================================*/
/**
 * @class   vtkImageSlice
 * @brief   represents an image in a 3D scene
 *
 * vtkImageSlice is used to represent an image in a 3D scene.  It displays
 * the image either as a slice or as a projection from the camera's
 * perspective. Adjusting the position and orientation of the slice
 * is done by adjusting the focal point and direction of the camera,
 * or alternatively the slice can be set manually in vtkImageMapper3D.
 * The lookup table and window/leve are set in vtkImageProperty.
 * Prop3D methods such as SetPosition() and RotateWXYZ() change the
 * position and orientation of the data with respect to VTK world
 * coordinates.
 * @par Thanks:
 * Thanks to David Gobbi at the Seaman Family MR Centre and Dept. of Clinical
 * Neurosciences, Foothills Medical Centre, Calgary, for providing this class.
 * @sa
 * vtkImageMapper3D vtkImageProperty vtkProp3D
*/

#ifndef vtkImageSlice_h
#define vtkImageSlice_h

#include "vtkRenderingCoreModule.h" // For export macro
#include "vtkProp3D.h"

class vtkRenderer;
class vtkPropCollection;
class vtkImageProperty;
class vtkImageMapper3D;

class VTKRENDERINGCORE_EXPORT vtkImageSlice : public vtkProp3D
{
public:
  vtkTypeMacro(vtkImageSlice,vtkProp3D);
  void PrintSelf(ostream& os, vtkIndent indent);

  /**
   * Creates an Image with the following defaults: origin(0,0,0)
   * position=(0,0,0) scale=1 visibility=1 pickable=1 dragable=1
   * orientation=(0,0,0).
   */
  static vtkImageSlice *New();

  //@{
  /**
   * Set/Get the mapper.
   */
  void SetMapper(vtkImageMapper3D *mapper);
  vtkGetObjectMacro(Mapper, vtkImageMapper3D);
  //@}

  //@{
  /**
   * Set/Get the image display properties.
   */
  void SetProperty(vtkImageProperty *property);
  virtual vtkImageProperty *GetProperty();
  //@}

  /**
   * Update the rendering pipeline by updating the ImageMapper
   */
  void Update();

  //@{
  /**
   * Get the bounds - either all six at once
   * (xmin, xmax, ymin, ymax, zmin, zmax) or one at a time.
   */
  double *GetBounds();
  void GetBounds(double bounds[6]) { this->vtkProp3D::GetBounds( bounds ); };
  double GetMinXBound();
  double GetMaxXBound();
  double GetMinYBound();
  double GetMaxYBound();
  double GetMinZBound();
  double GetMaxZBound();
  //@}

  /**
   * Return the MTime also considering the property etc.
   */
  vtkMTimeType GetMTime();

  /**
   * Return the mtime of anything that would cause the rendered image to
   * appear differently. Usually this involves checking the mtime of the
   * prop plus anything else it depends on such as properties, mappers,
   * etc.
   */
  vtkMTimeType GetRedrawMTime();

  //@{
  /**
   * Force the actor to be treated as translucent.
   */
  vtkGetMacro(ForceTranslucent, bool);
  vtkSetMacro(ForceTranslucent, bool);
  vtkBooleanMacro(ForceTranslucent, bool);
  //@}

  /**
   * Shallow copy of this vtkImageSlice. Overloads the virtual vtkProp method.
   */
  void ShallowCopy(vtkProp *prop);

  /**
   * For some exporters and other other operations we must be
   * able to collect all the actors, volumes, and images. These
   * methods are used in that process.
   */
  void GetImages(vtkPropCollection *);

  //@{
  /**
   * Support the standard render methods.
   */
  virtual int RenderOverlay(vtkViewport *viewport);
  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
  //@}

  /**
   * Internal method, should only be used by rendering.
   * This method will always return 0 unless ForceTranslucent is On.
   */
  virtual int HasTranslucentPolygonalGeometry();

  /**
   * This causes the image and its mapper to be rendered. Note that a side
   * effect of this method is that the pipeline will be updated.
   */
  virtual void Render(vtkRenderer *);

  /**
   * Release any resources held by this prop.
   */
  void ReleaseGraphicsResources(vtkWindow *win);

  /**
   * For stacked image rendering, set the pass.  The first pass
   * renders just the backing polygon, the second pass renders
   * the image, and the third pass renders the depth buffer.
   * Set to -1 to render all of these in the same pass.
   */
  void SetStackedImagePass(int pass);

protected:
  vtkImageSlice();
  ~vtkImageSlice();

  vtkImageMapper3D *Mapper;
  vtkImageProperty *Property;

  bool ForceTranslucent;

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

#endif