Interface node match constraints. More...
#include <MC_Node.hh>
Public Member Functions | |
virtual MC_Node * | clone (void) const =0 |
virtual bool | isConstrainedLabel (const std::string &label) const =0 |
virtual bool | isConstraining (const size_t nodeID) const |
virtual bool | isValidMatch (const Pattern_Interface &pattern, const Graph_Interface &target, const size_t matchedTargetID) const =0 |
virtual bool | isValidMatch (const Pattern_Interface &pattern, const Graph_Interface &target, const Match &match) const |
MC_Node (const size_t constrainedNodeID) | |
MC_Node (const MC_Node &toCopy) | |
virtual bool | operator== (const sgm::Pattern_Interface::Match_Constraint &toCompare) const |
virtual MC_Node * | remap (const Match &old2newIndexMapping, const size_t unmatchedIndex=UINT_MAX)=0 |
virtual | ~MC_Node () |
destruction More... | |
Data Fields | |
size_t | constrainedNodeID |
the node ID to be constrained More... | |
A match node constraint describes additional properties that have to be fulfilled by a given matched node on a given target.
Definition at line 40 of file MC_Node.hh.
|
inline |
construction
constrainedNodeID | the node ID to be constrained |
Definition at line 49 of file MC_Node.hh.
|
inline |
copy construction
toCopy | the MC_Node object to copy |
Definition at line 55 of file MC_Node.hh.
|
inlinevirtual |
Definition at line 61 of file MC_Node.hh.
|
pure virtual |
Creates a new MC_Node heap object that equals the current object. NOTE: YOU have to delete it later on! There is no garbage collection!
Implements sgm::Pattern_Interface::Match_Constraint.
Implemented in sgm::MC_NodeLabel, ggl::chem::MC_MC_NodeLabel, sgm::MC_NodeAdjacency, ggl::chem::MoleculeDecomposition::MC_MC_RingNode, and ggl::chem::MC_MC_NodeAdjacency.
|
pure virtualinherited |
Checks whether or not a given label is part of the constraint information. This check is needed by some parsers to verify the wildcard definition.
label | the label of interest |
Implemented in sgm::MC_NodeLabel, sgm::MC_EdgeLabel, sgm::MC_NodeAdjacency, ggl::chem::MoleculeDecomposition::MC_MC_RingNode, and sgm::MC_NoEdge.
|
inlinevirtual |
Checks whether or not this constraint covers the node with the given ID.
nodeID | the ID of the node of interest |
Implements sgm::Pattern_Interface::Match_Constraint.
Definition at line 74 of file MC_Node.hh.
|
pure virtual |
Checks whether or not a match on a given target fulfills the additional node constraint for the pattern matching.
pattern | the pattern graph that was matched |
target | the target graph the pattern was matched on |
matchedTargetID | the matched node index within the target graph |
Implemented in sgm::MC_NodeLabel, ggl::chem::MC_MC_NodeLabel, ggl::chem::MoleculeDecomposition::MC_MC_RingNode, sgm::MC_NodeAdjacency, and ggl::chem::MC_MC_NodeAdjacency.
|
inlinevirtual |
Checks whether or not a match on a given target fulfills the additional node constraint for the pattern matching.
pattern | the pattern graph that was matched |
target | the target graph the pattern was matched on |
match | the match information for the left side pattern of the pattern on the target graph |
Implements sgm::Pattern_Interface::Match_Constraint.
Definition at line 140 of file MC_Node.hh.
|
inlinevirtual |
Equality comparison to another match constraint.
toCompare | the constraint to compare to |
Implements sgm::Pattern_Interface::Match_Constraint.
Definition at line 154 of file MC_Node.hh.
|
pure virtual |
Creates a new MC_Node heap object that equals the current object but uses the new indices given by old2newIndexMapping. NOTE: YOU have to delete it later on! There is no garbage collection!
old2newIndexMapping | the index mapping to be used for the remapping |
unmatchedIndex | an optional specific index that marks unmatched nodes within old2newIndexMapping. if this constrains one of these nodes, no remapping is done and NULL is returned |
Implements sgm::Pattern_Interface::Match_Constraint.
Implemented in sgm::MC_NodeLabel, ggl::chem::MC_MC_NodeLabel, sgm::MC_NodeAdjacency, ggl::chem::MoleculeDecomposition::MC_MC_RingNode, and ggl::chem::MC_MC_NodeAdjacency.
size_t sgm::MC_Node::constrainedNodeID |
Definition at line 45 of file MC_Node.hh.