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

Subgraph of a Graph_Interface for matching. More...

#include <SubGraph.hh>

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

Data Structures

class  EdgeDescriptor
 

Public Types

typedef std::vector< size_t > CompLabel
 
typedef size_t IndexType
 Type for global indicex of nodes in the graph. More...
 
typedef std::vector< IndexTypeNodeList
 Type that defines a node index subset to be present in a subgraph. More...
 

Public Member Functions

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
 
 SubGraph (const Graph_Interface &fullGraph, const NodeList &nodeList)
 
 SubGraph (const Graph_Interface &fullGraph, const CompLabel &compLabel, const size_t subGraphLabel)
 
virtual ~SubGraph ()
 Destruction of the subgraph. More...
 

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

Match full2sub
 
const Graph_InterfacefullGraph
 The original graph this object is a subgraph of. More...
 
NodeList nodeList
 The subset of node indices of fullGraph represented by this graph. More...
 

Static Protected Attributes

static const IndexType NOT_MAPPED_INDEX
 

Detailed Description

  Represents only a subset of the nodes of a graph and all edges between
  these nodes by wrapping the source graph.
Author
Martin Mann (c) 2009 http://www.bioinf.uni-freiburg.de/~mmann/

Definition at line 17 of file SubGraph.hh.

Member Typedef Documentation

typedef std::vector<size_t> sgm::Graph_Interface::CompLabel
inherited

Definition at line 284 of file Graph_Interface.hh.

typedef size_t sgm::Graph_Interface::IndexType
inherited

Definition at line 23 of file Graph_Interface.hh.

typedef std::vector< IndexType > sgm::SubGraph::NodeList

Definition at line 22 of file SubGraph.hh.

Constructor & Destructor Documentation

sgm::SubGraph::SubGraph ( const Graph_Interface fullGraph,
const NodeList nodeList 
)

Construction of a subgraph from explicit node list.

Parameters
fullGraphthe original graph this object should be a subgraph of
nodeListthe subset of node indices present in the subgraph
sgm::SubGraph::SubGraph ( const Graph_Interface fullGraph,
const CompLabel compLabel,
const size_t  subGraphLabel 
)

Construction of a subgraph from a component labeling.

Parameters
fullGraphthe original graph this object should be a subgraph of
compLabelcomponent labeling of the fullGraph
subGraphLabelthe label in compLabel that defines the nodes of this subgraph
virtual sgm::SubGraph::~SubGraph ( )
virtual

Member Function Documentation

static size_t sgm::Graph_Interface::connectedComponents ( const Graph_Interface g,
CompLabel compID 
)
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.

Parameters
gthe graph to check for connected components
compIDthe container to store the component ID information within
Returns
the number of connected components within g
virtual Edge_iterator sgm::Graph_Interface::getEdgesBegin ( const IndexType i,
const IndexType j 
) const
virtualinherited

Access to the label of a specified edge

Parameters
ithe index of the first end node of interest
jthe index of the second end node of interest
Returns
the edge iterator pointing to the first edge between node i and j or to getEdgesEnd(i,j) if no edge exists
virtual Edge_iterator sgm::Graph_Interface::getEdgesEnd ( const IndexType i,
const IndexType j 
) const
virtualinherited

Access to the label of a specified edge

Parameters
ithe index of the first end node of interest
jthe index of the second end node of interest
Returns
the edge iterator pointing to the first edge between node i and j or to getEdgesEnd(i,j) if no edge exists
virtual std::string sgm::SubGraph::getNodeLabel ( const IndexType i) const
virtual

Access to the label of a specified node

Parameters
ithe index of the node of interest
Returns
a string representation of the node label

Implements sgm::Graph_Interface.

virtual size_t sgm::SubGraph::getNodeNumber ( void  ) const
virtual

Access to the number of nodes of the subgraph

Returns
the overall node number

Implements sgm::Graph_Interface.

virtual OutEdge_iterator sgm::SubGraph::getOutEdgesBegin ( const IndexType i) const
virtual

Access to iteration begin for the edge in the adjacency list of a specified node

Parameters
ithe index of the node of interest
Returns
the iterator to the first edge within the adjacency of i

Implements sgm::Graph_Interface.

virtual OutEdge_iterator sgm::SubGraph::getOutEdgesEnd ( const IndexType i) const
virtual

Access to iteration end for the edge in the adjacency list of a specified node

Parameters
ithe index of the node of interest
Returns
the iterator the end of the adjacency iteration of i

Implements sgm::Graph_Interface.

static void sgm::Graph_Interface::labelAdjacentNodes ( const Graph_Interface g,
const size_t  curNode,
CompLabel compID,
const size_t  label 
)
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

Parameters
thegraph to screen
curNodethe node to start the search from
compIDthe container to store the component ID information within
labelthe component ID to be used for all nodes of the connected component reachable from curNode
virtual bool sgm::Graph_Interface::operator!= ( const Graph_Interface toCompare) const
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!

Parameters
toComparethe Graph_Interface to compare to
Returns
true if both graph interfaces are different
virtual bool sgm::Graph_Interface::operator== ( const Graph_Interface toCompare) const
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!

Parameters
toComparethe Graph_Interface to compare to
Returns
true if both graph interfaces are equal

Field Documentation

Match sgm::SubGraph::full2sub
protected

Mapping of global indices of fullGraph to local indices of this subgraph

Definition at line 114 of file SubGraph.hh.

const Graph_Interface& sgm::SubGraph::fullGraph
protected

Definition at line 107 of file SubGraph.hh.

NodeList sgm::SubGraph::nodeList
protected

Definition at line 110 of file SubGraph.hh.

const IndexType sgm::SubGraph::NOT_MAPPED_INDEX
staticprotected

Definition at line 104 of file SubGraph.hh.


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