33 #if defined(DepthFirstVisitor_RECURSES) 34 #error Recursive header files inclusion detected in DepthFirstVisitor.h 35 #else // defined(DepthFirstVisitor_RECURSES) 37 #define DepthFirstVisitor_RECURSES 39 #if !defined DepthFirstVisitor_h 41 #define DepthFirstVisitor_h 47 #include "DGtal/base/Common.h" 48 #include "DGtal/base/CountedPtr.h" 49 #include "DGtal/base/ConstAlias.h" 50 #include "DGtal/kernel/sets/DigitalSetSelector.h" 51 #include "DGtal/kernel/sets/DigitalSetDomain.h" 52 #include "DGtal/topology/DomainAdjacency.h" 53 #include "DGtal/graph/CUndirectedSimpleLocalGraph.h" 93 template <
typename TGraph,
94 typename TMarkSet =
typename TGraph::VertexSet >
102 typedef typename Graph::Size
Size;
115 typedef std::pair< Vertex, Data >
Node;
165 template <
typename VertexIterator>
167 VertexIterator b, VertexIterator e );
173 const Graph &
graph()
const;
214 template <
typename VertexPredicate>
215 void expand(
const VertexPredicate & authorized_vtx );
322 template <
typename TGraph,
typename TMarkSet >
332 #include "DGtal/graph/DepthFirstVisitor.ih" 337 #endif // !defined DepthFirstVisitor_h 339 #undef DepthFirstVisitor_RECURSES 340 #endif // else defined(DepthFirstVisitor_RECURSES)
std::pair< Vertex, Data > Node
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: This class is useful to perform a depth-first exploration of a graph given a starting point or s...
DepthFirstVisitor & operator=(const DepthFirstVisitor &other)
const Graph & graph() const
const MarkSet & markedVertices() const
MarkSet visitedVertices() const
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
DGtal is the top-level namespace which contains all DGtal functions and types.
std::stack< Node > NodeQueue
Internal data structure for computing the depth-first expansion.
MyDigitalSurface::Vertex Vertex
Size Data
Data attached to each Vertex is the depth distance to the seed.
DepthFirstVisitor< TGraph, TMarkSet > Self
const Node & current() const
std::vector< Vertex > VertexList
Internal data structure for storing vertices.
void selfDisplay(std::ostream &out) const