Orfeo Toolbox  3.16
itkImageSliceConstIteratorWithIndex.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkImageSliceConstIteratorWithIndex.h,v $
5  Language: C++
6  Date: $Date: 2009-08-14 20:48:00 $
7  Version: $Revision: 1.13 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkImageSliceConstIteratorWithIndex_h
18 #define __itkImageSliceConstIteratorWithIndex_h
19 
21 
22 namespace itk
23 {
24 
111 template<typename TImage>
113 {
114 public:
118 
123  typedef typename TImage::IndexType IndexType;
124 
129  typedef TImage ImageType;
130 
132  typedef typename TImage::RegionType RegionType;
133 
137  typedef typename TImage::PixelContainer PixelContainer;
138  typedef typename PixelContainer::Pointer PixelContainerPointer;
139 
142 
146  const RegionType & region)
147  : ImageConstIteratorWithIndex<TImage>(ptr, region)
148  {
149  m_Direction_A = 0;
150  m_Direction_B = 1;
151  }
152 
161 
164  void NextLine(void);
165 
167  void GoToBeginOfSlice(void);
168 
171  void NextSlice(void);
172 
175  void PreviousLine(void);
176 
179  void PreviousSlice(void);
180 
182  bool IsAtEndOfLine(void);
183 
185  bool IsAtEndOfSlice(void);
186 
188  bool IsAtReverseEndOfLine(void);
189 
191  bool IsAtReverseEndOfSlice(void);
192 
194  void SetFirstDirection(unsigned int direction);
195 
197  void SetSecondDirection(unsigned int direction);
198 
202  inline Self & operator++();
203 
207  inline Self & operator--();
208 
209 private:
210  unsigned long m_PixelJump;
211  unsigned long m_LineJump;
212  unsigned int m_Direction_A;
213  unsigned int m_Direction_B;
214 };
215 
216 } // end namespace itk
217 
218 #ifndef ITK_MANUAL_INSTANTIATION
220 #endif
221 
222 #endif

Generated at Sat Feb 2 2013 23:44:39 for Orfeo Toolbox with doxygen 1.8.1.1