31#if defined(MetricAdjacency_RECURSES)
32#error Recursive header files inclusion detected in MetricAdjacency.h
35#define MetricAdjacency_RECURSES
37#if !defined MetricAdjacency_h
39#define MetricAdjacency_h
46#include "DGtal/base/Common.h"
47#include "DGtal/kernel/CSpace.h"
48#include "DGtal/kernel/SpaceND.h"
49#include "DGtal/kernel/BasicPointPredicates.h"
77 template <
typename TSpace,
Dimension maxNorm1,
97 typedef typename std::map<Vertex, Value>
Type;
165 template <
typename OutputIterator>
187 template <
typename OutputIterator,
typename VertexPredicate>
192 const VertexPredicate & pred);
248 template <
typename TSpace, Dimension maxNorm1>
252 TSpace::dimension > &
object );
259#include "DGtal/topology/MetricAdjacency.ih"
266#undef MetricAdjacency_RECURSES
Aim: Describes digital adjacencies in digital spaces that are defined with the 1-norm and the infinit...
static void writeNeighbors(OutputIterator &it, const Vertex &v)
MetricAdjacency< Space, maxNorm1, dimension > Adjacency
static Size degree(const Vertex &v)
static bool isAdjacentTo(const Point &p1, const Point &p2)
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
static bool isProperlyAdjacentTo(const Point &p1, const Point &p2)
static void selfDisplay(std::ostream &out)
static Size computeCapacity()
static Size bestCapacity()
static void writeNeighbors(OutputIterator &it, const Vertex &v, const VertexPredicate &pred)
std::set< Vertex > VertexSet
MetricAdjacency(const MetricAdjacency &other)
MetricAdjacency & operator=(const MetricAdjacency &other)
size_t Size
Type used to represent sizes in the digital space.
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
DGtal::uint32_t Dimension
std::map< Vertex, Value > Type
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.