31 #if defined(LightExplicitDigitalSurface_RECURSES) 32 #error Recursive header files inclusion detected in LightExplicitDigitalSurface.h 33 #else // defined(LightExplicitDigitalSurface_RECURSES) 35 #define LightExplicitDigitalSurface_RECURSES 37 #if !defined LightExplicitDigitalSurface_h 39 #define LightExplicitDigitalSurface_h 45 #include "DGtal/base/Common.h" 46 #include "DGtal/base/ConstAlias.h" 47 #include "DGtal/topology/CSurfelPredicate.h" 48 #include "DGtal/topology/Topology.h" 49 #include "DGtal/topology/SurfelAdjacency.h" 50 #include "DGtal/topology/SurfelNeighborhood.h" 51 #include "DGtal/graph/BreadthFirstVisitor.h" 52 #include "DGtal/graph/GraphVisitorRange.h" 117 template <
typename TKSpace,
typename TSurfelPredicate>
227 template <
typename Value>
229 typedef typename KSpace::template SurfelMap<Value>::Type
Type;
341 template <
typename OutputIterator>
362 template <
typename OutputIterator,
typename VertexPredicate>
365 const VertexPredicate & pred )
const;
440 template <
typename TKSpace,
typename TSurfelPredicate>
450 #include "DGtal/topology/LightExplicitDigitalSurface.ih" 455 #endif // !defined LightExplicitDigitalSurface_h 457 #undef LightExplicitDigitalSurface_RECURSES 458 #endif // else defined(LightExplicitDigitalSurface_RECURSES) void setSurfel(const Surfel &aSurfel)
mutator to starting surfel.
KSpace::template SurfelMap< Value >::Type Type
std::set< SCell > SCellSet
Preferred type for defining a set of SCell(s).
Size degree(const Vertex &v) const
Surfel mySurfel
a surfel belonging to the surface.
LightExplicitDigitalSurface< TKSpace, TSurfelPredicate > DigitalSurfaceContainer
LightExplicitDigitalSurface & operator=(const LightExplicitDigitalSurface &other)
Connectedness connectedness() const
Aim: SpaceND is a utility class that defines the fundamental structure of a Digital Space in ND...
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
void selfDisplay(std::ostream &out) const
TSurfelPredicate SurfelPredicate
DGtal::uint32_t Dimension
SurfelNeighborhood< KSpace > Neighborhood
SurfelConstIterator end() const
DigitalSurfaceTracker * newTracker(const Surfel &s) const
BOOST_CONCEPT_ASSERT((concepts::CSurfelPredicate< SurfelPredicate >))
Tracker myTracker
Internal tracker for visiting surfels.
GraphVisitorRange< SelfVisitor > SelfVisitorRange
SurfelAdjacency< KSpace::dimension > Adjacency
const Surfel & surfel() const
accessor to starting surfel.
const DigitalSurfaceContainer & surface() const
TKSpace KSpace
Model of cellular grid space.
Tracker DigitalSurfaceTracker
Dimension orthDir() const
KSpace::SCellSet SCellSet
NumberTraits< Integer >::UnsignedVersion Size
Type used to represent sizes in the digital space.
void writeNeighbors(OutputIterator &it, const Vertex &v) const
uint8_t adjacent(Surfel &s, Dimension d, bool pos) const
LightExplicitDigitalSurface< TKSpace, TSurfelPredicate > Self
const SurfelPredicate & surfelPredicate() const
accessor to surfel predicate.
Neighborhood myNeighborhood
Aim: Defines a predicate on a surfel.
~LightExplicitDigitalSurface()
KSpace::SCell Surfel
Type for surfels.
bool isInside(const Surfel &s) const
const KSpace & space() const
const KSpace & myKSpace
a reference to the cellular space.
Size bestCapacity() const
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
SelfVisitorRange::ConstIterator SurfelConstIterator
LightExplicitDigitalSurface(const LightExplicitDigitalSurface &other)
std::set< Cell > CellSet
Preferred type for defining a set of Cell(s).
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Transforms a graph visitor into a single pass input range.
boost::uint8_t uint8_t
unsigned 8-bit integer.
BreadthFirstVisitor< Self > SelfVisitor
Represents a signed cell in a cellular grid space by its Khalimsky coordinates and a boolean value...
Aim: This class is useful to perform a breadth-first exploration of a graph given a starting point or...
const Adjacency & surfelAdjacency() const
accessor to surfel adjacency.
Adjacency mySurfelAdjacency
the surfel adjacency used to determine neighbors.
const DigitalSurfaceContainer & mySurface
const Surfel & current() const
void move(const Surfel &s)
Tracker(ConstAlias< DigitalSurfaceContainer > aSurface, const Surfel &s)
SurfelConstIterator begin() const
const SurfelPredicate & mySurfelPredicate
a reference to the surfel predicate defining the shape.
KSpace::Size Size
Type for sizes (unsigned integral type).
Aim: A model of CDigitalSurfaceContainer which defines the digital surface as connected surfels...