18 #ifndef __itkHilbertPath_h
19 #define __itkHilbertPath_h
52 template<
typename TIndexValue =
unsigned int,
unsigned int VDimension = 3>
54 :
public Path<TIndexValue, Index<VDimension>, VDimension>
71 itkStaticConstMacro(
Dimension,
unsigned int, VDimension );
115 itkExceptionMacro(
"Not implemented." );
191 #ifndef ITK_MANUAL_INSTANTIATION
192 #include "itkHilbertPath.hxx"
PathIndexType SetBit(const PathIndexType, const PathIndexType, const PathIndexType, const PathIndexType)
HilbertPathType::size_type HilbertPathSizeType
Offset< VDimension > OffsetType
Represent an n-dimensional Hilbert path for a given order.
PathIndexType GetRightBitRotation(PathIndexType, PathIndexType, const PathIndexType)
IndexType TransformPathIndexToMultiDimensionalIndex(const PathIndexType id)
SmartPointer< const Self > ConstPointer
PathIndexType GetInverseTransform(const PathIndexType, const PathIndexType, const PathIndexType, const PathIndexType)
virtual void Initialize(void)
static const unsigned int Dimension
PathIndexType GetGrayCode(const PathIndexType)
PathIndexType GetTransform(const PathIndexType, const PathIndexType, const PathIndexType, const PathIndexType)
PathIndexType GetInverseGrayCode(const PathIndexType)
virtual OutputType EvaluateToIndex(const PathIndexType &input) const
virtual OffsetType IncrementInput(InputType &) const
virtual OutputType Evaluate(const PathIndexType &input) const
PathIndexType GetDirection(const PathIndexType, const PathIndexType)
PathIndexType GetTrailingSetBits(const PathIndexType, const PathIndexType)
Superclass::OffsetType OffsetType
std::vector< IndexType > HilbertPathType
virtual InputType EndOfInput() const
void PrintSelf(std::ostream &os, Indent indent) const
Represent a path through ND Space.
HilbertPathType m_HilbertPath
HilbertPath< TIndexValue, VDimension > Self
PathIndexType GetEntry(const PathIndexType)
PathIndexType GetBitRange(const PathIndexType, const PathIndexType, const PathIndexType, const PathIndexType)
SmartPointer< Self > Pointer
virtual void Modified() const
void ConstructHilbertPath()
void operator=(const Self &)
PathIndexType GetLeftBitRotation(PathIndexType, PathIndexType, const PathIndexType)
virtual InputType EvaluateInverse(const IndexType &input)
Control indentation during Print() invocation.
Path< unsigned int, Index< VDimension >, VDimension > Superclass
Superclass::OutputType OutputType
Superclass::InputType InputType
Define additional traits for native types such as int or float.
PathIndexType TransformMultiDimensionalIndexToPathIndex(const IndexType &index)
unsigned int HilbertOrderType
virtual HilbertPathSizeType NumberOfSteps() const
Base class for all data objects in ITK.
HilbertOrderType m_HilbertOrder