Generated on Wed Apr 29 2015 11:51:40 for GGL-4.1.2 by doxygen 1.8.3.1
RingPerception.hh
Go to the documentation of this file.
1 
2 #ifndef SGM_RINGPERCEPTION_HH_
3 #define SGM_RINGPERCEPTION_HH_
4 
5 #include "sgm/Graph_Interface.hh"
6 #include "sgm/RingReporter.hh"
7 
8 namespace sgm {
9 
10  /*! @brief Interface ring enumeration
11  *
12  * Generic interface for ring perception algorithms that allow for the
13  * enumeration of all rings within a graph.
14  *
15  */
17  public:
18 
19  //! construction
21  //! destruction
22  virtual ~RingPerception() {}
23 
24  /*!
25  * Finds rings within the given graph and reports each found ring to
26  * the assigned reporter.
27  *
28  * @param graph the graph to be analyzed
29  * @param reporter the RingReporter to report all found rings to
30  * @param maxRingSize the maximal size of rings to report
31  * @return the number of rings found and reported
32  */
33  virtual
34  size_t
35  findRings( const Graph_Interface & graph
36  , RingReporter & reporter
37  , const size_t maxRingSize = std::numeric_limits<size_t>::max() ) = 0;
38 
39  };
40 
41 } // namespace sgm
42 
43 #endif /* SGM_RINGPERCEPTION_HH_ */