31#if defined(Morton_RECURSES)
32#error Recursive header files inclusion detected in Morton.h
35#define Morton_RECURSES
44#include <boost/array.hpp>
45#include "DGtal/base/Common.h"
46#include "DGtal/kernel/PointVector.h"
47#include "DGtal/kernel/CUnsignedNumber.h"
48#include "DGtal/kernel/CIntegralNumber.h"
49#include "DGtal/kernel/CInteger.h"
51#include "DGtal/base/Bits.h"
76 template <
typename THashKey,
typename TPo
int >
130 return key >> dimension;
164#include "DGtal/images/Morton.ih"
168#undef Morton_RECURSES
Aim: Implements the binary Morton code construction in nD.
BOOST_STATIC_CONSTANT(Dimension, dimension=TPoint::dimension)
void interleaveBits(const Point &aPoint, HashKey &output) const
BOOST_CONCEPT_ASSERT((concepts::CInteger< Coordinate >))
void childrenKeys(const HashKey key, HashKey *result) const
BOOST_CONCEPT_ASSERT((concepts::CIntegralNumber< THashKey >))
BOOST_CONCEPT_ASSERT((concepts::CUnsignedNumber< THashKey >))
void coordinatesFromKey(const HashKey key, Point &coordinates) const
HashKey keyFromCoordinates(const std::size_t treeDepth, const Point &coordinates) const
void brotherKeys(const HashKey key, HashKey *result) const
Point::Coordinate Coordinate
HashKey parentKey(const HashKey key) const
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::uint32_t Dimension
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
Aim: Concept checking for Integral Numbers. Models of this concept should be listed in NumberTraits c...
Aim: Concept checking for Unsigned numbers. Models of this concept should be listed in NumberTraits c...