This file is indexed.

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

  Program:   Visualization Toolkit
  Module:    vtkLandmarkTransform.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   vtkLandmarkTransform
 * @brief   a linear transform specified by two corresponding point sets
 *
 * A vtkLandmarkTransform is defined by two sets of landmarks, the
 * transform computed gives the best fit mapping one onto the other, in a
 * least squares sense. The indices are taken to correspond, so point 1
 * in the first set will get mapped close to point 1 in the second set,
 * etc. Call SetSourceLandmarks and SetTargetLandmarks to specify the two
 * sets of landmarks, ensure they have the same number of points.
 * @warning
 * Whenever you add, subtract, or set points you must call Modified()
 * on the vtkPoints object, or the transformation might not update.
 * @sa
 * vtkLinearTransform
*/

#ifndef vtkLandmarkTransform_h
#define vtkLandmarkTransform_h

#include "vtkCommonTransformsModule.h" // For export macro
#include "vtkLinearTransform.h"

#define VTK_LANDMARK_RIGIDBODY 6
#define VTK_LANDMARK_SIMILARITY 7
#define VTK_LANDMARK_AFFINE 12

class VTKCOMMONTRANSFORMS_EXPORT vtkLandmarkTransform : public vtkLinearTransform
{
public:
  static vtkLandmarkTransform *New();

  vtkTypeMacro(vtkLandmarkTransform,vtkLinearTransform);
  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;

  //@{
  /**
   * Specify the source and target landmark sets. The two sets must have
   * the same number of points.  If you add or change points in these objects,
   * you must call Modified() on them or the transformation might not update.
   */
  void SetSourceLandmarks(vtkPoints *points);
  void SetTargetLandmarks(vtkPoints *points);
  vtkGetObjectMacro(SourceLandmarks, vtkPoints);
  vtkGetObjectMacro(TargetLandmarks, vtkPoints);
  //@}

  //@{
  /**
   * Set the number of degrees of freedom to constrain the solution to.
   * Rigidbody (VTK_LANDMARK_RIGIDBODY): rotation and translation only.
   * Similarity (VTK_LANDMARK_SIMILARITY): rotation, translation and
   * isotropic scaling.
   * Affine (VTK_LANDMARK_AFFINE): collinearity is preserved.
   * Ratios of distances along a line are preserved.
   * The default is similarity.
   */
  vtkSetMacro(Mode,int);
  void SetModeToRigidBody() { this->SetMode(VTK_LANDMARK_RIGIDBODY); };
  void SetModeToSimilarity() { this->SetMode(VTK_LANDMARK_SIMILARITY); };
  void SetModeToAffine() { this->SetMode(VTK_LANDMARK_AFFINE); };
  //@}

  //@{
  /**
   * Get the current transformation mode.
   */
  vtkGetMacro(Mode,int);
  const char *GetModeAsString();
  //@}

  /**
   * Invert the transformation.  This is done by switching the
   * source and target landmarks.
   */
  void Inverse() VTK_OVERRIDE;

  /**
   * Get the MTime.
   */
  vtkMTimeType GetMTime() VTK_OVERRIDE;

  /**
   * Make another transform of the same type.
   */
  vtkAbstractTransform *MakeTransform() VTK_OVERRIDE;

protected:
  vtkLandmarkTransform();
  ~vtkLandmarkTransform() VTK_OVERRIDE;

  // Update the matrix from the quaternion.
  void InternalUpdate() VTK_OVERRIDE;

  /**
   * This method does no type checking, use DeepCopy instead.
   */
  void InternalDeepCopy(vtkAbstractTransform *transform) VTK_OVERRIDE;

  vtkPoints* SourceLandmarks;
  vtkPoints* TargetLandmarks;

  int Mode;
private:
  vtkLandmarkTransform(const vtkLandmarkTransform&) VTK_DELETE_FUNCTION;
  void operator=(const vtkLandmarkTransform&) VTK_DELETE_FUNCTION;
};

inline const char *vtkLandmarkTransform::GetModeAsString()
{
  switch (this->Mode)
  {
    case VTK_LANDMARK_RIGIDBODY:
      return "RigidBody";
    case VTK_LANDMARK_SIMILARITY:
      return "Similarity";
    case VTK_LANDMARK_AFFINE:
      return "Affine";
    default:
      return "Unrecognized";
  }
}

#endif