Open
Graph Drawing
Framework

 v.2012.07
 

ogdf::MMCrossingMinimizationModule Class Reference

Interface for minor-monotone crossing minimization algorithms. More...

#include <ogdf/module/MMCrossingMinimizationModule.h>

+ Inheritance diagram for ogdf::MMCrossingMinimizationModule:

List of all members.

Public Member Functions

 MMCrossingMinimizationModule ()
 Initializes a minor-monotone crossing minimization module.
virtual ~MMCrossingMinimizationModule ()
ReturnType call (PlanRepExpansion &PG, int cc, int &crossingNumber, const EdgeArray< bool > *forbid=0)
 Computes a planarized representation of an expansion of the input graph.
ReturnType call (const Graph &G, int &cr, const EdgeArray< bool > *forbid=0)
 Performs minor-monotone crossing minimization on G.
ReturnType call (const Graph &G, const List< node > &splittableNodes, int &cr, const EdgeArray< bool > *forbid=0)
 Performs minor-monotone crossing minimization on G for given splittable nodes.
int numberOfNodeSplits () const
 Returns the number of required node splits after the call.
int numberOfSplittedNodes () const
- Public Member Functions inherited from ogdf::Module
 Module ()
 Initializes a module.
virtual ~Module ()

Protected Member Functions

virtual ReturnType doCall (PlanRepExpansion &PG, int cc, const EdgeArray< bool > *forbid, int &crossingNumber, int &numNS, int &numSN)=0
 Actual algorithm call that needs to be implemented by derived classed.

Private Attributes

int m_nodeSplits
 The number of required node splits.
int m_splittedNodes
 The number of nodes that are split.

Additional Inherited Members

- Public Types inherited from ogdf::Module
enum  ReturnType { retFeasible, retOptimal, retNoFeasibleSolution, retTimeoutFeasible, retTimeoutInfeasible, retError }
 The return type of a module. More...
- Static Public Member Functions inherited from ogdf::Module
static bool isSolution (ReturnType ret)
 Returns true iff retVal indicates that the module returned a feasible solution.

Detailed Description

Interface for minor-monotone crossing minimization algorithms.

Definition at line 60 of file MMCrossingMinimizationModule.h.


Constructor & Destructor Documentation

ogdf::MMCrossingMinimizationModule::MMCrossingMinimizationModule ( )
inline

Initializes a minor-monotone crossing minimization module.

Definition at line 64 of file MMCrossingMinimizationModule.h.

virtual ogdf::MMCrossingMinimizationModule::~MMCrossingMinimizationModule ( )
inlinevirtual

Definition at line 67 of file MMCrossingMinimizationModule.h.


Member Function Documentation

ReturnType ogdf::MMCrossingMinimizationModule::call ( PlanRepExpansion PG,
int  cc,
int &  crossingNumber,
const EdgeArray< bool > *  forbid = 0 
)
inline

Computes a planarized representation of an expansion of the input graph.

Parameters:
PGrepresents the input graph as well as the computed planarized expansion after the call. PG has to be initialzed as a PlanRepExpansion of the input graph and is modified to obatain the planarized representation (nodes are eventually expanded by splitting the node and crossings are replaced by dummy vertices with degree four).
ccis the number of the connected component in PG that is considered.
crossingNumberis assigned the number of crossings.
forbidpoints to an edge array indicating which edges are not allowed to be crossed, i.e., (*forbid)[e] = true. If forbid = 0, no edges are forbidden.
Returns:
the status of the result.

Definition at line 84 of file MMCrossingMinimizationModule.h.

ReturnType ogdf::MMCrossingMinimizationModule::call ( const Graph G,
int &  cr,
const EdgeArray< bool > *  forbid = 0 
)

Performs minor-monotone crossing minimization on G.

Parameters:
Gis the input graph.
cris assigned the number of crossings.
forbidpoints to an edge array indicating which edges are not allowed to be crossed, i.e., (*forbid)[e] = true. If forbid = 0, no edges are forbidden.
Returns:
the status of the result.
ReturnType ogdf::MMCrossingMinimizationModule::call ( const Graph G,
const List< node > &  splittableNodes,
int &  cr,
const EdgeArray< bool > *  forbid = 0 
)

Performs minor-monotone crossing minimization on G for given splittable nodes.

Parameters:
Gis the input graph.
splittableNodesis the list of nodes that are allowed to be split.
cris assigned the number of crossings.
forbidpoints to an edge array indicating which edges are not allowed to be crossed, i.e., (*forbid)[e] = true. If forbid = 0, no edges are forbidden.
Returns:
the status of the result.
virtual ReturnType ogdf::MMCrossingMinimizationModule::doCall ( PlanRepExpansion PG,
int  cc,
const EdgeArray< bool > *  forbid,
int &  crossingNumber,
int &  numNS,
int &  numSN 
)
protectedpure virtual

Actual algorithm call that needs to be implemented by derived classed.

Parameters:
PGrepresents the input graph as well as the computed planarized expansion after the call. PG is initialized as a PlanRepExpansion of the input graph and needs to be modified to obatain the planarized representation (crossings are replaced by dummy vertices with degree four).
ccis the number of the connected component in PG that is considered.
forbidpoints to an edge array indicating which edges are not allowed to be crossed, i.e., (*forbid)[e] = true.
crossingNumberneeds to be assigned the number of crossings.
numNSneeds to be assigned the required number of node splits.
numSNneeds to be assigned the number of splitted nodes.
Returns:
the status of the result.

Implemented in ogdf::MMSubgraphPlanarizer.

int ogdf::MMCrossingMinimizationModule::numberOfNodeSplits ( ) const
inline

Returns the number of required node splits after the call.

Definition at line 123 of file MMCrossingMinimizationModule.h.

int ogdf::MMCrossingMinimizationModule::numberOfSplittedNodes ( ) const
inline

Definition at line 125 of file MMCrossingMinimizationModule.h.


Member Data Documentation

int ogdf::MMCrossingMinimizationModule::m_nodeSplits
private

The number of required node splits.

Definition at line 151 of file MMCrossingMinimizationModule.h.

int ogdf::MMCrossingMinimizationModule::m_splittedNodes
private

The number of nodes that are split.

Definition at line 152 of file MMCrossingMinimizationModule.h.


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