# OpenGraph DrawingFramework

v. 2022.02 (Dogwood)

ogdf::AcyclicSubgraphModule Class Referenceabstract

Base class of algorithms for computing a maximal acyclic subgraph. More...

#include <ogdf/layered/AcyclicSubgraphModule.h>

Inheritance diagram for ogdf::AcyclicSubgraphModule:

## Public Member Functions

AcyclicSubgraphModule ()
Initializes an acyclic subgraph module. More...

virtual ~AcyclicSubgraphModule ()
Destruction. More...

virtual void call (const Graph &G, List< edge > &arcSet)=0
Computes the set of edges arcSet which have to be removed for obtaining an acyclic subgraph of G. More...

void callAndDelete (Graph &G)
Makes G acyclic by removing edges. More...

void callAndReverse (Graph &G)
Makes G acyclic by reversing edges. More...

void callAndReverse (Graph &G, List< edge > &reversed)
Makes G acyclic by reversing edges. More...

void operator() (const Graph &G, List< edge > &arcSet)
Computes the set of edges arcSet which have to be removed for obtaining an acyclic subgraph of G. More...

## Detailed Description

Base class of algorithms for computing a maximal acyclic subgraph.

SugiyamaLayout

Definition at line 43 of file AcyclicSubgraphModule.h.

## ◆ AcyclicSubgraphModule()

 ogdf::AcyclicSubgraphModule::AcyclicSubgraphModule ( )
inline

Initializes an acyclic subgraph module.

Definition at line 46 of file AcyclicSubgraphModule.h.

## ◆ ~AcyclicSubgraphModule()

 virtual ogdf::AcyclicSubgraphModule::~AcyclicSubgraphModule ( )
inlinevirtual

Destruction.

Definition at line 49 of file AcyclicSubgraphModule.h.

## ◆ call()

 virtual void ogdf::AcyclicSubgraphModule::call ( const Graph & G, List< edge > & arcSet )
pure virtual

Computes the set of edges arcSet which have to be removed for obtaining an acyclic subgraph of G.

This is the actual algorithm call and must be implemented by derived classes.

Parameters
 G is the input graph. arcSet is assigned the list of edges that have to be removed in G.

Implemented in ogdf::GreedyCycleRemoval, and ogdf::DfsAcyclicSubgraph.

## ◆ callAndDelete()

 void ogdf::AcyclicSubgraphModule::callAndDelete ( Graph & G )

Makes G acyclic by removing edges.

This method will also remove self-loops in the input graph G.

Parameters
 G is the input graph.

## ◆ callAndReverse() [1/2]

 void ogdf::AcyclicSubgraphModule::callAndReverse ( Graph & G )

Makes G acyclic by reversing edges.

This method will ignore self-loops in the input graph G; thus self-loops are neither reversed nor removed. This is the simplified version of callAndDelete() that does not return the list of reversed edges.

Parameters
 G is the input graph.

## ◆ callAndReverse() [2/2]

 void ogdf::AcyclicSubgraphModule::callAndReverse ( Graph & G, List< edge > & reversed )

Makes G acyclic by reversing edges.

This method will ignore self-loops in the input graph G; thus self-loops are neither reversed or removed nor added to reversed.

Parameters
 G is the input graph. reversed is assigned the list of edges that have been reversed in G.

## ◆ operator()()

 void ogdf::AcyclicSubgraphModule::operator() ( const Graph & G, List< edge > & arcSet )
inline

Computes the set of edges arcSet which have to be removed for obtaining an acyclic subgraph of G.

Parameters
 G is the input graph. arcSet is assigned the list of edges that have to be removed in G.

Definition at line 67 of file AcyclicSubgraphModule.h.

The documentation for this class was generated from the following file: