Generated on Wed Apr 29 2015 11:51:41 for GGL-4.1.2 by doxygen 1.8.3.1
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes
sgm::PA_OrderCheck Class Reference

Order based automorphism exclusion. More...

#include <PA_OrderCheck.hh>

Inheritance diagram for sgm::PA_OrderCheck:
Inheritance graph
[legend]

Public Types

typedef std::vector< IndexPairCheckList
 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_OrderCheckclone (void) const
 
const CheckListgetCheckList (void) const
 
const Pattern_InterfacegetPattern (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_Interfacepattern
 the source graph this automorphism description is defined for More...
 

Detailed Description

Performs an order check (e.g. "<") on match positions to identify symmetric matches.

Definition at line 20 of file PA_OrderCheck.hh.

Member Typedef Documentation

typedef std::vector< IndexPair > sgm::PA_OrderCheck::CheckList

Definition at line 27 of file PA_OrderCheck.hh.

Definition at line 25 of file PA_OrderCheck.hh.

Constructor & Destructor Documentation

sgm::PA_OrderCheck::PA_OrderCheck ( const Pattern_Interface pattern,
const CheckList checkList 
)

Construction of a graph symmetry handler.

Parameters
patternthe graph this Pattern_Automorphism handles
checkListthe 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.

Parameters
toCopythe object to make this a copy of
virtual sgm::PA_OrderCheck::~PA_OrderCheck ( )
virtual

Member Function Documentation

virtual PA_OrderCheck* sgm::PA_OrderCheck::clone ( void  ) const
virtual

Creates a new allocated copy of this object on heap. NOTE, the returned copy has to be deleted by the calling method.

Returns
a copy of this

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.

Returns
the used CheckList
static PA_OrderCheck sgm::PA_OrderCheck::getGraphAutomorphism ( const Pattern_Interface pattern)
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!

Parameters
patternthe pattern graph of interest
Returns
the Pattern_Automorphism breaking all symmetries of the graph
template<class GRAPHMATCHER >
static PA_OrderCheck sgm::PA_OrderCheck::getGraphAutomorphismT ( const Pattern_Interface pattern)
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!

Parameters
patternthe pattern graph of interest
Returns
the Pattern_Automorphism breaking all symmetries of the graph
const Pattern_Interface& sgm::PA_OrderCheck::getPattern ( void  ) const

Access to the graph this Pattern_Automorphism belongs to.

Returns
the source graph
bool sgm::PA_OrderCheck::isSymmetryMatch ( const Pattern_Interface graph,
const Match match 
) const
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.

Parameters
graphthe graph the match belongs to
matchthe match of the graph that has to be checked
Returns
true if the match is a symmetric one, false otherwise

Implements sgm::Pattern_Automorphism.

Field Documentation

const CheckList sgm::PA_OrderCheck::checkList
protected

Definition at line 35 of file PA_OrderCheck.hh.

const Pattern_Interface* sgm::PA_OrderCheck::pattern
protected

Definition at line 32 of file PA_OrderCheck.hh.


The documentation for this class was generated from the following file: