This file is indexed.

/usr/include/vtk-6.3/vtkProp3DAxisFollower.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
/*=========================================================================

  Program:   Visualization Toolkit
  Module:    vtkProp3DAxisFollower.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 vtkProp3DAxisFollower - a subclass of vtkProp3DFollower that ensures
// that data is always parallel to the axis defined by a vtkAxisActor.
// .SECTION Description
// vtkProp3DAxisFollower is a subclass of vtkProp3DFollower that always follows
// its specified axis. More specifically it will not change its position or
// scale, but it will continually update its orientation so that it is aligned
// with the axis and facing at angle to the camera to provide maximum visibilty.
// This is typically used for text labels for 3d plots.
// .SECTION see also
// vtkFollower vtkAxisFollower vtkProp3DFollower

#ifndef vtkProp3DAxisFollower_h
#define vtkProp3DAxisFollower_h

#include "vtkRenderingAnnotationModule.h" // For export macro
#include "vtkProp3DFollower.h"
#include "vtkWeakPointer.h" // For vtkWeakPointer

class vtkAxisActor;
class vtkViewport;

class VTKRENDERINGANNOTATION_EXPORT vtkProp3DAxisFollower
  : public vtkProp3DFollower
{
 public:
  // Description:
  // Creates a follower with no camera set.
  static vtkProp3DAxisFollower *New();

  // Description:
  // Standard VTK methods for type and printing.
  vtkTypeMacro(vtkProp3DAxisFollower,vtkProp3DFollower);
  void PrintSelf(ostream& os, vtkIndent indent);

 // Description:
 // Set axis that needs to be followed.
 virtual void SetAxis(vtkAxisActor*);
 virtual vtkAxisActor* GetAxis();

 // Description:
 // Set/Get state of auto center mode where additional
 // translation will be added to make sure the underlying
 // geometry has its pivot point at the center of its bounds.
 vtkSetMacro(AutoCenter, int);
 vtkGetMacro(AutoCenter, int);
 vtkBooleanMacro(AutoCenter, int);

 // Description:
 // Enable / disable use of distance based LOD. If enabled the actor
 // will not be visible at a certain distance from the camera.
 // Default is false.
 vtkSetMacro(EnableDistanceLOD, int);
 vtkGetMacro(EnableDistanceLOD, int);

 // Description:
 // Set distance LOD threshold (0.0 - 1.0).This determines at what fraction
 // of camera far clip range, actor is not visible.
 // Default is 0.80.
 vtkSetClampMacro(DistanceLODThreshold, double, 0.0, 1.0);
 vtkGetMacro(DistanceLODThreshold, double);

 // Description:
 // Enable / disable use of view angle based LOD. If enabled the actor
 // will not be visible at a certain view angle.
 // Default is true.
 vtkSetMacro(EnableViewAngleLOD, int);
 vtkGetMacro(EnableViewAngleLOD, int);

 // Description:
 // Set view angle LOD threshold (0.0 - 1.0).This determines at what view
 // angle to geometry will make the geometry not visibile.
 // Default is 0.34.
 vtkSetClampMacro(ViewAngleLODThreshold, double, 0.0, 1.0);
 vtkGetMacro(ViewAngleLODThreshold, double);

 // Description:
 // Set/Get the desired screen offset from the axis.
 vtkSetMacro(ScreenOffset, double);
 vtkGetMacro(ScreenOffset, double);

  // Description:
  // Generate the matrix based on ivars. This method overloads its superclasses
  // ComputeMatrix() method due to the special vtkProp3DAxisFollower matrix operations.
  virtual void ComputeMatrix();

  // Description:
  // Shallow copy of a follower. Overloads the virtual vtkProp method.
  void ShallowCopy(vtkProp *prop);

 // Description:
 // Calculate scale factor to maintain same size of a object
 // on the screen.
 static double AutoScale(vtkViewport *viewport, vtkCamera * camera,
                         double screenSize, double position[3]);

  // Description:
  // This causes the actor to be rendered. It in turn will render the actor's
  // property, texture map and then mapper. If a property hasn't been
  // assigned, then the actor will create one automatically.
  virtual int RenderOpaqueGeometry(vtkViewport *viewport);
  virtual int RenderTranslucentPolygonalGeometry(vtkViewport *viewport);
  virtual int RenderVolumetricGeometry(vtkViewport *viewport);

  virtual void SetViewport(vtkViewport* viewport);
  virtual vtkViewport* GetViewport();

protected:
  vtkProp3DAxisFollower();
  ~vtkProp3DAxisFollower();

 void CalculateOrthogonalVectors(double Rx[3], double Ry[3], double Rz[3],
                                 vtkAxisActor *axis1, double *dop,
                                 vtkViewport *ren);


 void ComputeRotationAndTranlation(vtkViewport *ren, double translation[3],
                                   double Rx[3], double Ry[3], double Rz[3],
                                   vtkAxisActor *axis);

 // \NOTE: Not used as of now.
 void ComputerAutoCenterTranslation(const double& autoScaleFactor,
                                    double translation[3]);


  int  TestDistanceVisibility();
  void ExecuteViewAngleVisibility(double normal[3]);

  bool IsTextUpsideDown(double* a, double* b);

  int          AutoCenter;

  int          EnableDistanceLOD;
  double       DistanceLODThreshold;

  int          EnableViewAngleLOD;
  double       ViewAngleLODThreshold;

  double       ScreenOffset;

  vtkWeakPointer<vtkAxisActor> Axis;
  vtkWeakPointer<vtkViewport> Viewport;
private:
  vtkProp3DAxisFollower(const vtkProp3DAxisFollower&);  // Not implemented.
  void operator=(const vtkProp3DAxisFollower&);  // Not implemented.

  int TextUpsideDown;
  int VisibleAtCurrentViewAngle;

};

#endif