This file is indexed.

/usr/include/OTB-5.8/otbPolyLineImageIterator.h is in libotb-dev 5.8.0+dfsg-3.

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
/*=========================================================================

  Program:   ORFEO Toolbox
  Language:  C++
  Date:      $Date$
  Version:   $Revision$


  Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
  See OTBCopyright.txt 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 notices for more information.

=========================================================================*/
#ifndef otbPolyLineImageIterator_h
#define otbPolyLineImageIterator_h

#include "otbPolyLineImageConstIterator.h"

namespace otb
{
/** \class PolyLineImageIterator
 *  \brief Uses the bresenham algorithm to iterate over a polyline on an image.
 *
 *  This iterator encapsulates the itk::LineIterator along with the VectorContainer iterator on
 *  the vertex list of the polyline.
 *
 * \ingroup Iterators
 * \sa PolyLineParametricPath
 * \sa PolyLineParametricPathWithValue
 * \sa LineIterator
 * \sa LineConstIterator
 * \sa PolyLineImageConstIterator
 *
 * \ingroup OTBPath
 */
template <class TImage, class TPath>
class ITK_EXPORT PolyLineImageIterator
  : public PolyLineImageConstIterator<TImage, TPath>
{
public:
  /** Standard typedefs */
  typedef PolyLineImageIterator                     Self;
  typedef PolyLineImageConstIterator<TImage, TPath> Superclass;

  itkStaticConstMacro(ImageIteratorDimension, unsigned int,
                      TImage::ImageDimension);

  typedef typename TImage::IndexType             IndexType;
  typedef typename TImage::IndexValueType        IndexValueType;
  typedef typename TImage::OffsetType            OffsetType;
  typedef typename TImage::OffsetValueType       OffsetValueType;
  typedef typename TImage::SizeType              SizeType;
  typedef typename TImage::SizeValueType         SizeValueType;
  typedef typename TImage::RegionType            RegionType;
  typedef typename TImage::SpacingType           SpacingType;
  typedef typename TImage::PointType             PointType;
  typedef TImage                                 ImageType;
  typedef TPath                                  PathType;
  typedef typename PathType::VertexType          VertexType;
  typedef typename PathType::VertexListType      VertexListType;
  typedef typename VertexListType::ConstIterator VertexIteratorType;
  typedef itk::LineIterator<ImageType>           InternalImageIteratorType;
  typedef typename TImage::PixelContainer        PixelContainer;
  typedef typename PixelContainer::Pointer       PixelContainerPointer;
  typedef typename TImage::InternalPixelType     InternalPixelType;
  typedef typename TImage::PixelType             PixelType;
  typedef typename TImage::AccessorType          AccessorType;

  /** Set the pixel value */
  void Set(const PixelType& value)
  {
    this->m_InternalImageIterator.Set(value);
  }
  /** Return a reference to the pixel
   * This method will provide the fastest access to pixel
   * data, but it will NOT support ImageAdaptors. */
  PixelType& Value(void)
  {
    return this->m_InternalImageIterator.Value();
  }
  Self & operator =(const Self& it)
  {
    this->Superclass::operator =(it);
    return *this;
  }

  /** Constructor establishes an iterator to walk along a line */
  PolyLineImageIterator(ImageType * imagePtr, PathType * pathPtr)
    : Superclass(imagePtr, pathPtr) {};
  /** Default Destructor. */
  ~PolyLineImageIterator() ITK_OVERRIDE {}
};
} // End namespace otb

#endif