Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

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.

See also
SugiyamaLayout

Definition at line 47 of file AcyclicSubgraphModule.h.

Constructor & Destructor Documentation

◆ AcyclicSubgraphModule()

ogdf::AcyclicSubgraphModule::AcyclicSubgraphModule ( )
inline

Initializes an acyclic subgraph module.

Definition at line 50 of file AcyclicSubgraphModule.h.

◆ ~AcyclicSubgraphModule()

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

Destruction.

Definition at line 53 of file AcyclicSubgraphModule.h.

Member Function Documentation

◆ 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
Gis the input graph.
arcSetis 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
Gis 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
Gis 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
Gis the input graph.
reversedis 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
Gis the input graph.
arcSetis assigned the list of edges that have to be removed in G.

Definition at line 71 of file AcyclicSubgraphModule.h.


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