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);
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());
105 itkSetMacro(Start, IndexType);
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();
160 #ifndef ITK_MANUAL_INSTANTIATION
161 #include "itkChainCodePath.hxx"
virtual void PrintSelf(std::ostream &os, Indent indent) const 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
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