ITK  4.9.0
Insight Segmentation and Registration Toolkit
itkSpeedFunctionPathInformation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkSpeedFunctionPathInformation.h,v $
5  Language: C++
6  Date: $Date$
7  Version: $Revision$
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 itkSpeedFunctionPathInformation_h
18 #define itkSpeedFunctionPathInformation_h
19 
20 #include "itkLightObject.h"
21 #include "itkObjectFactory.h"
22 
23 #include <vector>
24 
25 namespace itk
26 {
27 
47 template <typename TPoint>
49  public LightObject
50 {
51 public:
57 
60 
62  itkNewMacro(Self);
63 
65  typedef TPoint PointType;
66 
67  void ClearInfo();
68 
69  void SetStartPoint( const PointType & start );
70 
71  void SetEndPoint( const PointType & end );
72 
73  void AddWayPoint( const PointType & way );
74 
75  unsigned int GetNumberOfPoints( ) const;
76 
77  const PointType & GetStartPoint( ) const;
78 
79  const PointType & GetEndPoint( ) const;
80 
81  const PointType & GetWayPoint( SizeValueType i ) const;
82 
83  bool HasNextFront( ) const;
84 
86 
87  const PointType & PeekCurrentFront( ) const;
88 
89  const PointType & PeekNextFront( ) const;
90 
91  const PointType & PeekPreviousFront( ) const;
92 
93 
94 protected:
97  virtual void PrintSelf( std::ostream& os, Indent indent ) const;
98 
99  std::vector< PointType > m_Information;
101 
102 
103 private:
104  SpeedFunctionPathInformation( const Self& ); //purposely not implemented
105  void operator=( const Self& ); //purposely not implemented
106 };
107 
108 
109 } // end namespace itk
110 
111 #ifndef ITK_MANUAL_INSTANTIATION
112 #include "itkSpeedFunctionPathInformation.hxx"
113 #endif
114 
115 #endif
PathInfo class for encapsulating information about a path for a SpeedFunctionToPathFilter Object...
Light weight base class for most itk classes.
void SetStartPoint(const PointType &start)
const PointType & GetEndPoint() const
unsigned long SizeValueType
Definition: itkIntTypes.h:143
void SetEndPoint(const PointType &end)
const PointType & PeekNextFront() const
const PointType & PeekCurrentFront() const
const PointType & GetWayPoint(SizeValueType i) const
Control indentation during Print() invocation.
Definition: itkIndent.h:49
const PointType & GetCurrentFrontAndAdvance()
unsigned int GetNumberOfPoints() const
void AddWayPoint(const PointType &way)
const PointType & PeekPreviousFront() const
virtual void PrintSelf(std::ostream &os, Indent indent) const
const PointType & GetStartPoint() const