31 #if defined(SetOfSurfels_RECURSES) 32 #error Recursive header files inclusion detected in SetOfSurfels.h 33 #else // defined(SetOfSurfels_RECURSES) 35 #define SetOfSurfels_RECURSES 37 #if !defined SetOfSurfels_h 39 #define 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,
86 typedef typename TKSpace::SCell
Surfel;
113 const DigitalSurfaceContainer &
surface()
const;
115 const Surfel &
current()
const;
124 void move(
const Surfel & s );
162 typedef typename KSpace::Size
Size;
179 typedef typename KSpace::SCell
SCell;
213 const Adjacency & adj,
232 const KSpace &
space()
const;
237 bool isInside(
const Surfel & s )
const;
241 SurfelConstIterator
begin()
const;
245 SurfelConstIterator
end()
const;
260 DigitalSurfaceTracker*
newTracker(
const Surfel & s )
const;
327 template <
typename TKSpace,
typename TSurfelSet>
337 #include "DGtal/topology/SetOfSurfels.ih" 342 #endif // !defined SetOfSurfels_h 344 #undef SetOfSurfels_RECURSES 345 #endif // else defined(SetOfSurfels_RECURSES)
DigitalSurfaceTracker * newTracker(const Surfel &s) const
MyDigitalSurface::SurfelSet SurfelSet
bool isInside(const Surfel &s) const
Adjacency mySurfelAdjacency
the surfel adjacency used to determine neighbors.
KSpace::SCellSet SCellSet
SurfelPredicate mySurfelPredicate
the surfel predicate defining the shape (related to mySurfelSet).
functors::SurfelSetPredicate< SurfelSet, Surfel > SurfelPredicate
SetOfSurfels(const SetOfSurfels &other)
const Adjacency & surfelAdjacency() const
accessor to surfel adjacency.
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
DGtal::uint32_t Dimension
Dimension orthDir() const
SurfelAdjacency< KSpace::dimension > Adjacency
KSpace::SCell Surfel
Type for surfels.
SurfelNeighborhood< KSpace > Neighborhood
const KSpace & space() const
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Tracker DigitalSurfaceTracker
const KSpace & myKSpace
a reference to the cellular space.
void selfDisplay(std::ostream &out) const
SetOfSurfels< TKSpace, TSurfelSet > Self
SetOfSurfels< TKSpace, TSurfelSet > DigitalSurfaceContainer
SurfelConstIterator end() const
void move(const Surfel &s)
DGtal is the top-level namespace which contains all DGtal functions and types.
boost::uint8_t uint8_t
unsigned 8-bit integer.
SurfelSet::const_iterator SurfelConstIterator
KSpace::Size Size
Type for sizes (unsigned integral type).
uint8_t adjacent(Surfel &s, Dimension d, bool pos) const
Aim: A model of CDigitalSurfaceContainer which defines the digital surface as connected surfels...
const DigitalSurfaceContainer & mySurface
SurfelConstIterator begin() const
const DigitalSurfaceContainer & surface() const
Tracker(ConstAlias< DigitalSurfaceContainer > aSurface, const Surfel &s)
Connectedness connectedness() const
SurfelSet mySurfelSet
the set of surfels
const SurfelPredicate & surfelPredicate() const
accessor to surfel predicate.
SetOfSurfels & operator=(const SetOfSurfels &other)
Neighborhood myNeighborhood
const Surfel & current() const
TKSpace KSpace
Model of cellular grid space.