18 #ifndef itkChainCodePath_h
19 #define itkChainCodePath_h
48 template<
unsigned int VDimension >
50 Path< unsigned int, Offset< VDimension >, VDimension >
54 itkStaticConstMacro(
Dimension,
unsigned int, VDimension);
67 typedef typename Superclass::OutputType
OutputType;
83 return m_Chain[input];
87 virtual IndexType EvaluateToIndex(
const InputType & input)
const ITK_OVERRIDE;
93 virtual OffsetType IncrementInput(InputType & input)
const ITK_OVERRIDE;
98 return static_cast<InputType>(NumberOfSteps());
106 itkGetConstReferenceMacro(Start,
IndexType);
112 m_Chain.insert(m_Chain.begin() + position, step);
120 m_Chain[position] = step;
136 return m_Chain.size();
142 m_Start = this->GetZeroIndex();
150 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
160 #ifndef ITK_MANUAL_INSTANTIATION
161 #include "itkChainCodePath.hxx"
~ChainCodePath() override
Index< VDimension > IndexType
Represent a path as a sequence of connected image index offsets.
Superclass::OutputType OutputType
virtual OutputType Evaluate(const InputType &input) const override
Superclass::InputType InputType
std::vector< OffsetType > ChainCodeType
SmartPointer< const Self > ConstPointer
virtual void InsertStep(InputType position, OffsetType step)
SmartPointer< Self > Pointer
Represent a path through ND Space.
ChainCodePath< VDimension > Self
ChainCodeType::size_type ChainCodeSizeType
const unsigned int Dimension
virtual void Initialize(void) override
virtual void ChangeStep(InputType position, OffsetType step)
Control indentation during Print() invocation.
virtual ChainCodeSizeType NumberOfSteps() const
virtual InputType EndOfInput() const override
Path< unsigned int, Offset< VDimension >, VDimension > Superclass
ImageBaseType::IndexType IndexType