This file is indexed.

/usr/include/VTKEdge/vtkKWEBoundingBoxRepresentation2D.h is in libvtkedge-dev 0.2.0~20110819-1build2.

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
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
//=============================================================================
//   This file is part of VTKEdge. See vtkedge.org for more information.
//
//   Copyright (c) 2010 Kitware, Inc.
//
//   VTKEdge may be used under the terms of the BSD License
//   Please see the file Copyright.txt in the root directory of
//   VTKEdge for further information.
//
//   Alternatively, you may see: 
//
//   http://www.vtkedge.org/vtkedge/project/license.html
//
//
//   For custom extensions, consulting services, or training for
//   this or any other Kitware supported open source project, please
//   contact Kitware at sales@kitware.com.
//
//
//=============================================================================
// .NAME vtkKWEBoundingBoxRepresentation2D
// .SECTION Description

#ifndef __vtkKWEBoundingBoxRepresentation2D_h
#define __vtkKWEBoundingBoxRepresentation2D_h

#include "VTKEdgeConfigure.h" // Needed for export symbols
#include "vtkWidgetRepresentation.h"

class vtkHandleRepresentation;
class vtkCellArray;
class vtkPoints;
class vtkPolyData;
class vtkPolyDataMapper;
class vtkTextMapper;
class vtkTextProperty;
class vtkProperty;
class vtkActor2D;
class vtkActor;
class vtkProperty2D;
class vtkProperty;
class vtkImageActorPointPlacer;
class vtkImageActor;
class vtkActor2DCollection;
class vtkCollection;
class vtkImageData;

class VTKEdge_WIDGETS_EXPORT vtkKWEBoundingBoxRepresentation2D : public vtkWidgetRepresentation
{
public:
  // Description:
  // Instantiate the class.
  static vtkKWEBoundingBoxRepresentation2D *New();

  // Description:
  // Standard VTK methods.
  vtkTypeRevisionMacro(vtkKWEBoundingBoxRepresentation2D,vtkWidgetRepresentation);
  void PrintSelf(ostream& os, vtkIndent indent);

  // Description:
  // Set the image actor on which this widget is placed.
  virtual void SetImageActor( vtkImageActor * );
  vtkImageActor *GetImageActor();

  // Description:
  // This method is used to specify the type of handle representation to use
  // for the four internal vtkHandleRepresentations within
  // vtkKWEBoundingBoxRepresentation2D.  To use this method, create a dummy
  // vtkHandleRepresentation (or subclass), and then invoke this method with
  // this dummy. Then the vtkKWEBoundingBoxRepresentation2D uses this dummy to
  // clone four vtkHandleRepresentations of the same type.
  void SetHandleRepresentation(vtkHandleRepresentation *handle);
  vtkHandleRepresentation* GetHandleRepresentation( int handleIndex );

  // Description:
  // Retrieve the property used to control the appearance of the two
  // orthogonal lines.
  vtkGetObjectMacro(LineProperty,vtkProperty);
  vtkGetObjectMacro(SelectedLineProperty,vtkProperty);
  virtual void SetSelectedHandleProperty( vtkProperty * );
  virtual void SetHoveredHandleProperty( vtkProperty * );
  virtual void SetHandleProperty( vtkProperty * );

  // Description:
  // Get the 3D bounding-box as a polydata.
  vtkPolyData * GetPolyData();

  // Description:
  // Set/Get the extents of the bbox. Returns 0 on failure.
  int GetExtent( int extents[6] );
  void SetExtent( int extents[6] );

  // Description:
  // These are methods that satisfy vtkWidgetRepresentation's API.
  virtual void BuildRepresentation();
  virtual int ComputeInteractionState(int X, int Y, int modify=0);
  virtual void GetActors2D(vtkPropCollection *pc);
  virtual void GetActors(vtkPropCollection *pc);
  virtual void PlaceWidget(double bounds[6]);

  // Description:
  // Methods required by vtkProp superclass.
  virtual void ReleaseGraphicsResources(vtkWindow *w);
  virtual int RenderOverlay(vtkViewport *viewport);
  virtual int RenderOpaqueGeometry(vtkViewport *viewport);

  // Description:
  // INTERNAL. Do not use.
  // This is set from vtkKWEBoundingBoxWidget.
  vtkSetMacro(InteractionState,int);

  //BTX - manage the state of the widget
  enum _InteractionState
  {
    Outside = 0,
    Inside,
    RequestResizeBox,
    Resizing,
    BeginDefining,
    Defining,
    EndDefining
  };
  //ETX

  // Description:
  // Specify the format to use for labelling the distance. Note that an empty
  // string results in no label, or a format string without a "%" character
  // will not print the distance value.
  vtkSetStringMacro(LabelFormat);
  vtkGetStringMacro(LabelFormat);

  // Description:
  // Set the image data on which the widget is placed.
  virtual void SetImageData( vtkImageData * );
  vtkGetObjectMacro( ImageData, vtkImageData );

  // Description:
  // Optionally an ID field may be displayed next to the box
  vtkSetMacro( ID, int );
  vtkGetMacro( ID, int );

  // Description:
  // Get the outline property.
  vtkProperty * GetOutlineProperty();

  // Description:
  // Get the property of the text annotations
  vtkTextProperty * GetWidthTextProperty();
  vtkTextProperty * GetHeightTextProperty();
  vtkTextProperty * GetIDTextProperty();

  // Description:
  // INTERNAL: Do not use.. Must be set by the widget alone.
  // This serves to fade the representation into the background. When on,
  // the representation will but also show up only with the rectangular
  // bounding box. The handles and the slice actors don't show up anymore.
  vtkSetMacro( Fade, int );
  vtkGetMacro( Fade, int );

  // Description:
  // INTERNAL: Do not use.. Must be set by the widget alone.
  vtkSetMacro( ShowSliceScaleBar, int );

  // Description:
  // INTERNAL: Do not use
  vtkGetMacro( Unplaced, int );

protected:
  vtkKWEBoundingBoxRepresentation2D();
  ~vtkKWEBoundingBoxRepresentation2D();

  // Description:
  // On/Off the visibility of the widget.
  void SetVisibilityInternal( int );

  void Translate( const double translation[3],
                  const double cursorMotionVector[3] );
  void PositionHandles();

  // Highlight the nth handle. Called with an argument of "-1" will set the
  // property to all 4 handles.
  void SetHandleHighlight( int handleIdx, vtkProperty *property );

  // Default place the widget according to the bounds of the image actor
  void PlaceWidget();

  // User specified bounds to place the widget.
  int PlaceWidgetInternal(double bounds[6]);

  // Cut "PolyData" to produce "BoxPolyData". The cut will be done by using the
  // camera parameters. (using the focal point and the normal).
  // Returns 1 if "BoxPoints" is different from what it used to be.
  int Cut();

  // Compute annotations, if needed.. such as text width, height etc..
  int Annotate();
  int AnnotateScaleBar();

  vtkImageActorPointPlacer * PointPlacer;
  vtkPolyData              * PolyData;     // 8 Points
  vtkCollection            * TextMappers;
  vtkActor2DCollection     * TextActors;
  vtkPolyData              * BoxPolyData;
  vtkPolyDataMapper        * BoxMapper;
  vtkActor                 * BoxActor;
  vtkPoints                * BoxPoints;    // 4 Points, a "cut" of PolyData
  vtkProperty              * HandleProperty;
  vtkProperty              * SelectedHandleProperty;
  vtkProperty              * HoveredHandleProperty;
  vtkProperty              * LineProperty;
  vtkProperty              * SelectedLineProperty;
  vtkHandleRepresentation  * HandleRepresentation;
  vtkHandleRepresentation  **HandleRepresentations;
  int                        CurrentHandleIdx;
  double                     MinimumThickness[3];
  double                     PlaceFactor;
  double                     LastEventPosition[2];
  char                     * LabelFormat;
  vtkActor                 * ScaleBarActor;
  vtkActor                 * ScaleBarActor2;
  vtkPolyData              * ScaleBar;
  vtkPolyData              * ScaleBar2;
  int                        ShowSliceScaleBar;
  int                        Unplaced;
  vtkImageData             * ImageData;
  int                        Fade;
  int                        ID;

private:
  vtkKWEBoundingBoxRepresentation2D(const vtkKWEBoundingBoxRepresentation2D&);  //Not implemented
  void operator=(const vtkKWEBoundingBoxRepresentation2D&);  //Not implemented

  int  ComputeOrientation();
  int XAxis, YAxis, ZAxis;
  double Point1DisplayPosition[2], Point2DisplayPosition[2];
};

#endif