Open
Graph Drawing
Framework

 v.2012.07
 

AcyclicSubgraphModule.h
Go to the documentation of this file.
1 /*
2  * $Revision: 2523 $
3  *
4  * last checkin:
5  * $Author: gutwenger $
6  * $Date: 2012-07-02 20:59:27 +0200 (Mon, 02 Jul 2012) $
7  ***************************************************************/
8 
43 #ifdef _MSC_VER
44 #pragma once
45 #endif
46 
47 #ifndef OGDF_ACYCLIC_SUBGRAPH_MODULE_H
48 #define OGDF_ACYCLIC_SUBGRAPH_MODULE_H
49 
50 
51 
52 #include <ogdf/basic/Graph.h>
53 
54 namespace ogdf {
55 
62 public:
65 
66  // destruction
67  virtual ~AcyclicSubgraphModule() { }
68 
77  virtual void call(const Graph &G, List<edge> &arcSet) = 0;
78 
85  void operator()(const Graph &G, List<edge> &arcSet) {
86  call(G,arcSet);
87  }
88 
97  void callAndReverse(Graph &G, List<edge> &reversed);
98 
99  // makes G acyclic (except for self-loops!) by reversing edges
108  void callAndReverse(Graph &G);
109 
110  // makes G acyclic by deleting edges
117  void callAndDelete(Graph &G);
118 
120 };
121 
122 } // end namespace ogdf
123 
124 #endif