subgraph Class Reference

concrete subgraph class More...

#include <subgraph.h>

Inheritance diagram for subgraph:

abstractSubgraph managedObject goblinRootObject segmentGraph

Public Member Functions

 subgraph (const subgraph *G) throw ()
 subgraph (abstractMixedGraph *G) throw ()
virtual ~subgraph () throw ()
unsigned long Size () const throw ()
unsigned long Allocated () const throw ()
virtual const abstractMixedGraphSourceGraph () const throw ()
virtual const abstractSubgraphComplementarySubgraph () const throw ()
virtual bool HasNode (TNode node) const throw (ERRange)
virtual void AddArc (TArc a) throw (ERRange,ERRejected)
virtual TArc AddArc (TNode u, TNode v) throw (ERRange,ERRejected)
virtual void AddNode (TNode u) throw (ERRange,ERRejected)
virtual void OmitArc (TArc a) throw (ERRange,ERRejected)
virtual void OmitArc (TNode u, TNode v) throw (ERRange,ERRejected)
virtual void OmitNode (TNode u) throw (ERRange,ERRejected)
virtual void OmitIsolatedNodes () throw ()
virtual TArc Adjacency (TNode from, TNode to) throw (ERRange)
virtual TNode N () const throw ()
virtual TArc M () const throw ()
virtual TNode StartNode (TArc) const throw (ERRange)
virtual TNode EndNode (TArc) const throw (ERRange)
virtual bool HasArc (TArc) const throw (ERRange)
virtual TArc First (TNode) const throw (ERRange,ERRejected)
virtual TArc Right (TArc, TNode) const throw (ERRange,ERRejected)

Detailed Description

concrete subgraph class

Author:
Birk
Dies ist eine allgemeine Implementierung vom Interface abstractMixedSubgraph. Aktualisierung von WithoutGraph fehlt!!


Constructor & Destructor Documentation

subgraph const subgraph G  )  throw ()
 

subgraph abstractMixedGraph G  )  throw ()
 

~subgraph  )  throw () [virtual]
 


Member Function Documentation

TArc AddArc TNode  u,
TNode  v
throw (ERRange,ERRejected) [virtual]
 

Implements abstractSubgraph.

void AddArc TArc  a  )  throw (ERRange,ERRejected) [virtual]
 

adds an arc (from sourcegraph) to the subgraph.

If one of the nodes StartNode(a) or EndNode(a) isn't on the subgraph, it will be automatical be added.

Parameters:
a an arc of the SourceGraph
Exceptions:
ERRange,ERRejected ??? Check this!

Implements abstractSubgraph.

void AddNode TNode  u  )  throw (ERRange,ERRejected) [virtual]
 

Implements abstractSubgraph.

TArc Adjacency TNode  from,
TNode  to
throw (ERRange) [virtual]
 

unsigned long Allocated  )  const throw () [virtual]
 

Reimplemented from abstractSubgraph.

const abstractSubgraph * ComplementarySubgraph  )  const throw () [virtual]
 

returns a reference to a graph: SourceGraph without this graph

The returned reference doesn't have to be deleted! Deletion will be made automatical.

If SourceGraph G:= (V,E) and subgraph H:= (V1,E1) and V1 is part of V and E1 is part of E, then the returned graph I:= (V2,E2) is defined as follows:

  • V2 := "V without V1"
  • E2 := all edges which are incident in V2 that means all edges which are between a vertex of V1 and one of V2 are not either in E1 nor in E2.

=> the "WithoutGraph" of I is the original graph H.

Implements abstractSubgraph.

TNode EndNode TArc   )  const throw (ERRange) [virtual]
 

Implements abstractSubgraph.

TArc First TNode   )  const throw (ERRange,ERRejected) [virtual]
 

bool HasArc TArc   )  const throw (ERRange) [virtual]
 

Implements abstractSubgraph.

bool HasNode TNode  node  )  const throw (ERRange) [virtual]
 

tests, if node is on this subgraph

Implements abstractSubgraph.

TArc M  )  const throw () [virtual]
 

returns the number of edges

Implements abstractSubgraph.

TNode N  )  const throw () [virtual]
 

returns the number of vertices

Implements abstractSubgraph.

void OmitArc TNode  u,
TNode  v
throw (ERRange,ERRejected) [virtual]
 

Implements abstractSubgraph.

void OmitArc TArc  a  )  throw (ERRange,ERRejected) [virtual]
 

deletes an arc from the subgraph.

The nodes StartNode(a) and EndNode(a) will remain on the subgraph.

Parameters:
a an arc of the SourceGraph
Exceptions:
ERRange,ERRejected ??? Check this!

Implements abstractSubgraph.

void OmitIsolatedNodes  )  throw () [virtual]
 

Implements abstractSubgraph.

void OmitNode TNode  u  )  throw (ERRange,ERRejected) [virtual]
 

Implements abstractSubgraph.

TArc Right TArc  ,
TNode 
const throw (ERRange,ERRejected) [virtual]
 

unsigned long Size  )  const throw () [virtual]
 

Implements goblinRootObject.

const abstractMixedGraph * SourceGraph  )  const throw () [virtual]
 

getSourceGraph returns a reference to the original graph.

The returned reference doesn't have to be deleted! Deletion will be made automatically.

Implements abstractSubgraph.

TNode StartNode TArc   )  const throw (ERRange) [virtual]
 

Implements abstractSubgraph.