#include <ClassIDGraph.hh>
Public Types | |
typedef std::vector< size_t > | CompLabel |
typedef size_t | IndexType |
Type for global indicex of nodes in the graph. More... | |
Public Member Functions | |
ClassIDGraph (const sgm::Graph_Interface &molGraph, const size_t leadingZeros) | |
virtual Edge_iterator | getEdgesBegin (const IndexType &i, const IndexType &j) const |
virtual Edge_iterator | getEdgesEnd (const IndexType &i, const IndexType &j) const |
virtual std::string | getNodeLabel (const IndexType &i) const |
virtual size_t | getNodeNumber (void) const |
virtual OutEdge_iterator | getOutEdgesBegin (const IndexType &i) const |
virtual OutEdge_iterator | getOutEdgesEnd (const IndexType &i) const |
virtual bool | operator!= (const Graph_Interface &toCompare) const |
virtual bool | operator== (const Graph_Interface &toCompare) const |
virtual | ~ClassIDGraph () |
Static Public Member Functions | |
static size_t | connectedComponents (const Graph_Interface &g, CompLabel &compID) |
Static Protected Member Functions | |
static void | labelAdjacentNodes (const Graph_Interface &g, const size_t curNode, CompLabel &compID, const size_t label) |
Protected Attributes | |
size_t | classIdLength |
const sgm::Graph_Interface & | oriGraph |
Graph wrapper that adds the atom node ID as class information to each atom node label. The class ID string length is the length of the node number string plus a given number of leading zeros. For instance a graph with 12 atoms nodes and two leading zeros will have class ID '0001' to '0012'.
NOTE: existing class information is extended with the generated class ID string.
Definition at line 23 of file ClassIDGraph.hh.
|
inherited |
Definition at line 284 of file Graph_Interface.hh.
|
inherited |
Definition at line 23 of file Graph_Interface.hh.
|
inline |
Construction
molGraph | the molecule graph to wrap |
leadingZeros | the number of leading zeros in the class ID |
Definition at line 37 of file ClassIDGraph.hh.
|
inlinevirtual |
Destruction
Definition at line 54 of file ClassIDGraph.hh.
|
staticinherited |
Computes the connected components of a given graph. It stores the connected component ID of each node within the provided container and returns the number of components.
g | the graph to check for connected components |
compID | the container to store the component ID information within |
|
virtualinherited |
Access to the label of a specified edge
i | the index of the first end node of interest |
j | the index of the second end node of interest |
|
virtualinherited |
Access to the label of a specified edge
i | the index of the first end node of interest |
j | the index of the second end node of interest |
|
inlinevirtual |
Access to the label of a specified node
i | the index of the node of interest |
Implements sgm::Graph_Interface.
Definition at line 91 of file ClassIDGraph.hh.
|
inlinevirtual |
Access to the number of nodes of the graph
Implements sgm::Graph_Interface.
Definition at line 62 of file ClassIDGraph.hh.
|
inlinevirtual |
Access to iteration begin for the edge in the adjacency list of a specified node
i | the index of the node of interest |
Implements sgm::Graph_Interface.
Definition at line 72 of file ClassIDGraph.hh.
|
inlinevirtual |
Access to iteration end for the edge in the adjacency list of a specified node
i | the index of the node of interest |
Implements sgm::Graph_Interface.
Definition at line 82 of file ClassIDGraph.hh.
|
staticprotectedinherited |
Performs a depths-first-search labeling of all accessible nodes starting from curNode within g. The reached nodes are labeled with the given label in the component ID container compID
the | graph to screen |
curNode | the node to start the search from |
compID | the container to store the component ID information within |
label | the component ID to be used for all nodes of the connected component reachable from curNode |
|
virtualinherited |
Interface inequality comparison : NOTE : this function checks whether the interfaces of two graphs are identical or not, i.e. nodes with same index are equal and the order of adjacent edges is the same. This function performs NO GRAPH ISOMORPHISM !!! Thus, slight changes in the node order etc. will result in a non-equal interface!
toCompare | the Graph_Interface to compare to |
|
virtualinherited |
Interface equality comparison : NOTE : this function checks whether the interfaces of two graphs are identical or not, i.e. nodes with same index are equal and the order of adjacent edges is the same. This function performs NO GRAPH ISOMORPHISM !!! Thus, slight changes in the node order etc. will result in a non-equal interface!
toCompare | the Graph_Interface to compare to |
|
protected |
Definition at line 28 of file ClassIDGraph.hh.
|
protected |
Definition at line 26 of file ClassIDGraph.hh.