Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00052 #ifdef _MSC_VER
00053 #pragma once
00054 #endif
00055
00056 #ifndef OGDF_DFS_ACYCLIC_SUBGRAPH_H
00057 #define OGDF_DFS_ACYCLIC_SUBGRAPH_H
00058
00059
00060
00061 #include <ogdf/module/AcyclicSubgraphModule.h>
00062
00063
00064 namespace ogdf {
00065
00066 class OGDF_EXPORT GraphAttributes;
00067
00068
00069
00071
00074 class OGDF_EXPORT DfsAcyclicSubgraph : public AcyclicSubgraphModule {
00075 public:
00077 void call (const Graph &G, List<edge> &arcSet);
00078
00080
00084 void callUML (const GraphAttributes &AG, List<edge> &arcSet);
00085
00086 private:
00087 int dfsFindHierarchies(
00088 const GraphAttributes &AG,
00089 NodeArray<int> &hierarchy,
00090 int i,
00091 node v);
00092
00093 void dfsBackedgesHierarchies(
00094 const GraphAttributes &AG,
00095 node v,
00096 NodeArray<int> &number,
00097 NodeArray<int> &completion,
00098 int &nNumber,
00099 int &nCompletion);
00100
00101 };
00102
00103
00104 }
00105
00106
00107 #endif