18 #ifndef __otbPolyLineImageConstIterator_txx
19 #define __otbPolyLineImageConstIterator_txx
29 template <
class TImage,
class TPath>
32 : m_InternalImageIterator(const_cast<
ImageType *>(imagePtr),
33 imagePtr->GetLargestPossibleRegion().GetIndex(),
34 imagePtr->GetLargestPossibleRegion().GetIndex())
38 m_InternalVertexIterator = m_Path->GetVertexList()->Begin();
40 for (
unsigned int i = 0; i < ImageType::ImageDimension; ++i)
42 source[i] =
static_cast<unsigned int> (m_InternalVertexIterator.Value()[i]);
44 ++m_InternalVertexIterator;
45 if (m_InternalVertexIterator != m_Path->GetVertexList()->End())
48 for (
unsigned int i = 0; i < ImageType::ImageDimension; ++i)
50 target[i] =
static_cast<unsigned int> (m_InternalVertexIterator.Value()[i]);
60 template <
class TImage,
class TPath>
72 template <
class TImage,
class TPath>
77 m_InternalVertexIterator = m_Path->GetVertexList()->Begin();
79 for (
unsigned int i = 0; i < ImageType::ImageDimension; ++i)
81 source[i] =
static_cast<unsigned int> (m_InternalVertexIterator.Value()[i]);
83 ++m_InternalVertexIterator;
84 if (m_InternalVertexIterator != m_Path->GetVertexList()->End())
87 for (
unsigned int i = 0; i < ImageType::ImageDimension; ++i)
89 target[i] =
static_cast<unsigned int> (m_InternalVertexIterator.Value()[i]);
99 template <
class TImage,
class TPath>
105 ++m_InternalImageIterator;
106 if (m_InternalImageIterator.IsAtEnd())
108 if (m_InternalVertexIterator != m_Path->GetVertexList()->End())
111 for (
unsigned int i = 0; i < ImageType::ImageDimension; ++i)
113 source[i] =
static_cast<unsigned int> (m_InternalVertexIterator.Value()[i]);
116 ++m_InternalVertexIterator;
117 if (m_InternalVertexIterator != m_Path->GetVertexList()->End())
120 for (
unsigned int i = 0; i < ImageType::ImageDimension; ++i)
122 target[i] =
static_cast<unsigned int> (m_InternalVertexIterator.Value()[i]);
127 ++m_InternalImageIterator;