31#if defined(SetOfSurfels_RECURSES)
32#error Recursive header files inclusion detected in SetOfSurfels.h
35#define SetOfSurfels_RECURSES
37#if !defined SetOfSurfels_h
45#include "DGtal/base/Common.h"
46#include "DGtal/base/ConstAlias.h"
47#include "DGtal/topology/Topology.h"
48#include "DGtal/topology/SurfelAdjacency.h"
49#include "DGtal/topology/SurfelNeighborhood.h"
50#include "DGtal/topology/SurfelSetPredicate.h"
71 template <
typename TKSpace,
72 typename TSurfelSet =
typename TKSpace::SurfelSet >
86 typedef typename TKSpace::SCell
Surfel;
327 template <
typename TKSpace,
typename TSurfelSet>
337#include "DGtal/topology/SetOfSurfels.ih"
344#undef SetOfSurfels_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
PointVector< dim, Integer > Point
SignedKhalimskyCell< dim, Integer > SCell
NumberTraits< Integer >::UnsignedVersion Size
SpaceND< dim, Integer > Space
std::set< SCell > SCellSet
KhalimskyCell< dim, Integer > Cell
SurfelNeighborhood< KSpace > Neighborhood
const DigitalSurfaceContainer & surface() const
Tracker(const Tracker &other)
Dimension orthDir() const
uint8_t adjacent(Surfel &s, Dimension d, bool pos) const
Tracker(ConstAlias< DigitalSurfaceContainer > aSurface, const Surfel &s)
const DigitalSurfaceContainer & mySurface
Neighborhood myNeighborhood
SetOfSurfels< TKSpace, TSurfelSet > DigitalSurfaceContainer
void move(const Surfel &s)
const Surfel & current() const
Aim: A model of CDigitalSurfaceContainer which defines the digital surface as connected surfels....
KSpace::SCellSet SCellSet
functors::SurfelSetPredicate< SurfelSet, Surfel > SurfelPredicate
SurfelConstIterator begin() const
Adjacency & surfelAdjacency()
mutator to surfel adjacency.
DigitalSurfaceTracker * newTracker(const Surfel &s) const
SurfelConstIterator end() const
const SurfelSet & surfelSet() const
Tracker DigitalSurfaceTracker
Adjacency mySurfelAdjacency
SetOfSurfels(const SetOfSurfels &other)
SetOfSurfels< KSpace, SurfelSet > Self
const SurfelPredicate & surfelPredicate() const
accessor to surfel predicate.
SurfelSet::const_iterator SurfelConstIterator
SurfelPredicate mySurfelPredicate
SurfelAdjacency< KSpace::dimension > Adjacency
const KSpace & space() const
Connectedness connectedness() const
SetOfSurfels(ConstAlias< KSpace > aKSpace, const Adjacency &adj, SurfelSet aSetOfSurfels=SurfelSet())
void selfDisplay(std::ostream &out) const
bool isInside(const Surfel &s) const
const Adjacency & surfelAdjacency() const
accessor to surfel adjacency.
SetOfSurfels & operator=(const SetOfSurfels &other)
Aim: Represent adjacencies between surfel elements, telling if it follows an interior to exterior ord...
Aim: This helper class is useful to compute the neighboring surfels of a given surfel,...
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::uint8_t uint8_t
unsigned 8-bit integer.
Aim: The predicate returning true iff the point is in the domain given at construction.