main page
namespaces
classes
files
GGL home
Generated on Wed Apr 29 2015 11:51:40 for GGL-4.1.2 by
doxygen
1.8.3.1
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
src
sgm
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
*/
16
class
RingPerception
{
17
public
:
18
19
//! construction
20
RingPerception
() {}
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_ */