Open
Graph Drawing
Framework

 v.2012.05
 

DfsAcyclicSubgraph.h
Go to the documentation of this file.
00001 /*
00002  * $Revision: 2299 $
00003  * 
00004  * last checkin:
00005  *   $Author: gutwenger $ 
00006  *   $Date: 2012-05-07 15:57:08 +0200 (Mon, 07 May 2012) $ 
00007  ***************************************************************/
00008  
00042 #ifdef _MSC_VER
00043 #pragma once
00044 #endif
00045 
00046 #ifndef OGDF_DFS_ACYCLIC_SUBGRAPH_H
00047 #define OGDF_DFS_ACYCLIC_SUBGRAPH_H
00048 
00049 
00050 
00051 #include <ogdf/module/AcyclicSubgraphModule.h>
00052 
00053 
00054 namespace ogdf {
00055 
00056 class OGDF_EXPORT GraphAttributes;
00057 
00058 
00059 
00061 
00064 class OGDF_EXPORT DfsAcyclicSubgraph : public AcyclicSubgraphModule {
00065 public:
00067     void call (const Graph &G, List<edge> &arcSet);
00068 
00070 
00074     void callUML (const GraphAttributes &AG, List<edge> &arcSet);
00075 
00076 private:
00077     int dfsFindHierarchies(
00078         const GraphAttributes &AG,
00079         NodeArray<int> &hierarchy,
00080         int i,
00081         node v);
00082 
00083     void dfsBackedgesHierarchies(
00084         const GraphAttributes &AG,
00085         node v,
00086         NodeArray<int> &number,
00087         NodeArray<int> &completion,
00088         int &nNumber,
00089         int &nCompletion);
00090 
00091 };
00092 
00093 
00094 } // end namespace ogdf
00095 
00096 
00097 #endif