Go to the documentation of this file.00001
00002
00003
00004
00005
00006
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 }
00095
00096
00097 #endif