Order based automorphism exclusion. More...
#include <PA_OrderCheck.hh>
Public Types | |
typedef std::vector< IndexPair > | CheckList |
list of Match positions to do an order check on More... | |
typedef std::pair < Graph_Interface::IndexType, Graph_Interface::IndexType > | IndexPair |
pair of indices for order checking More... | |
Public Member Functions | |
virtual PA_OrderCheck * | clone (void) const |
const CheckList & | getCheckList (void) const |
const Pattern_Interface & | getPattern (void) const |
bool | isSymmetryMatch (const Pattern_Interface &graph, const Match &match) const |
PA_OrderCheck (const Pattern_Interface &pattern, const CheckList &checkList) | |
PA_OrderCheck (const PA_OrderCheck &toCopy) | |
virtual | ~PA_OrderCheck () |
Destruction. More... | |
Static Public Member Functions | |
static PA_OrderCheck | getGraphAutomorphism (const Pattern_Interface &pattern) |
template<class GRAPHMATCHER > | |
static PA_OrderCheck | getGraphAutomorphismT (const Pattern_Interface &pattern) |
Protected Attributes | |
const CheckList | checkList |
the list of Match positions to do an order check on More... | |
const Pattern_Interface * | pattern |
the source graph this automorphism description is defined for More... | |
Performs an order check (e.g. "<") on match positions to identify symmetric matches.
Definition at line 20 of file PA_OrderCheck.hh.
typedef std::vector< IndexPair > sgm::PA_OrderCheck::CheckList |
Definition at line 27 of file PA_OrderCheck.hh.
typedef std::pair< Graph_Interface::IndexType , Graph_Interface::IndexType > sgm::PA_OrderCheck::IndexPair |
Definition at line 25 of file PA_OrderCheck.hh.
sgm::PA_OrderCheck::PA_OrderCheck | ( | const Pattern_Interface & | pattern, |
const CheckList & | checkList | ||
) |
Construction of a graph symmetry handler.
pattern | the graph this Pattern_Automorphism handles |
checkList | the list of order checks to apply to break all symmetries in the graph |
sgm::PA_OrderCheck::PA_OrderCheck | ( | const PA_OrderCheck & | toCopy | ) |
Copy construction of a graph symmetry handler.
toCopy | the object to make this a copy of |
|
virtual |
|
virtual |
Creates a new allocated copy of this object on heap. NOTE, the returned copy has to be deleted by the calling method.
Implements sgm::Pattern_Automorphism.
const CheckList& sgm::PA_OrderCheck::getCheckList | ( | void | ) | const |
Access to the internally used list of order checks applied in the symmetry check.
|
static |
Creates a PA_OrderCheck object that handles all symmetries of a given graph. Calls getGraphAutomorphismT< GM_vf2 >.
NOTE: PA_OrderCheck instances are only valid for patterns WITHOUT additional matching constraints. Thus, the method will return no checks for patterns including constraints!
pattern | the pattern graph of interest |
|
static |
Creates a PA_OrderCheck object that handles all symmetries of a given graph. The template class specifies the GraphMatcher to be used.
NOTE: PA_OrderCheck instances are only valid for patterns WITHOUT additional matching constraints. Thus, the method will return no checks for patterns including constraints!
pattern | the pattern graph of interest |
const Pattern_Interface& sgm::PA_OrderCheck::getPattern | ( | void | ) | const |
Access to the graph this Pattern_Automorphism belongs to.
|
virtual |
Checks whether or not the given match is symmetric to another match that is possible based on a list of order checks on the match.
graph | the graph the match belongs to |
match | the match of the graph that has to be checked |
Implements sgm::Pattern_Automorphism.
|
protected |
Definition at line 35 of file PA_OrderCheck.hh.
|
protected |
Definition at line 32 of file PA_OrderCheck.hh.