abstractSubgraph Class Reference

Dieses Interface repr�entiert einen Teilgraph. More...

#include <abstractSubgraph.h>

Inheritance diagram for abstractSubgraph:

managedObject goblinRootObject complementarySubgraph subgraph segmentGraph

Public Member Functions

virtual const abstractMixedGraphSourceGraph () const =0 throw ()
virtual const abstractSubgraphComplementarySubgraph () const =0 throw ()
virtual bool HasNode (TNode node) const =0 throw (ERRange)
virtual void AddArc (TArc a)=0 throw (ERRange,ERRejected)
virtual TArc AddArc (TNode u, TNode v)=0 throw (ERRange,ERRejected)
virtual void AddNode (TNode u)=0 throw (ERRange,ERRejected)
virtual void OmitArc (TArc a)=0 throw (ERRange,ERRejected)
virtual void OmitArc (TNode u, TNode v)=0 throw (ERRange,ERRejected)
virtual void OmitNode (TNode u)=0 throw (ERRange,ERRejected)
virtual void OmitIsolatedNodes ()=0 throw ()
virtual sparseGraphCreateGraphObject () const throw ()
virtual void Write (const char *fileName) const throw (ERFile)
virtual TNode StartNode (TArc) const =0 throw (ERRange)
virtual TNode EndNode (TArc) const =0 throw (ERRange)
virtual bool HasArc (TArc a) const =0 throw (ERRange)
virtual TNode N () const =0 throw ()
virtual TArc M () const =0 throw ()
virtual unsigned long Allocated () const throw ()
virtual TArc Reverse (TArc a) const throw (ERRange)

Detailed Description

Dieses Interface repr�entiert einen Teilgraph.

Ein Teilgraph enthält jeweils eine Teilmenge von Knoten und Kanten aus dem Ursprungsgraph getSourceGraph().

Momentan kann mit der Methode createGraphObject() ein graph-Objekt (das ja indirekt von abstractMixedGraph abgeleitet ist) erzeugt werden, welches alle Knoten des SourceGraph und alle Kanten des Teilgraphen enthält.


Member Function Documentation

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

Implemented in complementarySubgraph, and subgraph.

virtual void AddArc TArc  a  )  throw (ERRange,ERRejected) [pure 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!

Implemented in complementarySubgraph, and subgraph.

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

Implemented in complementarySubgraph, and subgraph.

unsigned long Allocated  )  const throw () [virtual]
 

Reimplemented from managedObject.

Reimplemented in complementarySubgraph, and subgraph.

virtual const abstractSubgraph* ComplementarySubgraph  )  const throw () [pure 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.

Implemented in complementarySubgraph, and subgraph.

sparseGraph * CreateGraphObject  )  const throw () [virtual]
 

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

Implemented in complementarySubgraph, and subgraph.

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

Implemented in complementarySubgraph, and subgraph.

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

tests, if node is on this subgraph

Implemented in complementarySubgraph, and subgraph.

virtual TArc M  )  const throw () [pure virtual]
 

returns the number of edges

Implemented in complementarySubgraph, and subgraph.

virtual TNode N  )  const throw () [pure virtual]
 

returns the number of vertices

Implemented in complementarySubgraph, and subgraph.

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

Implemented in complementarySubgraph, and subgraph.

virtual void OmitArc TArc  a  )  throw (ERRange,ERRejected) [pure 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!

Implemented in complementarySubgraph, and subgraph.

virtual void OmitIsolatedNodes  )  throw () [pure virtual]
 

Implemented in complementarySubgraph, and subgraph.

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

Implemented in complementarySubgraph, and subgraph.

TArc Reverse TArc  a  )  const throw (ERRange) [virtual]
 

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

getSourceGraph returns a reference to the original graph.

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

Implemented in complementarySubgraph, and subgraph.

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

Implemented in complementarySubgraph, and subgraph.

void Write const char *  fileName  )  const throw (ERFile) [virtual]