Open
Graph Drawing
Framework

 v.2010.10
 

Public Types | Public Member Functions | Protected Member Functions

ogdf::EdgeInsertionModule Class Reference

Interface for edge insertion algorithms. More...

#include <ogdf/module/EdgeInsertionModule.h>

Inheritance diagram for ogdf::EdgeInsertionModule:
ogdf::Module ogdf::Timeouter ogdf::FixedEmbeddingInserter ogdf::VariableEmbeddingInserter ogdf::VariableEmbeddingInserter2

List of all members.

Public Types

enum  RemoveReinsertType {
  rrNone, rrInserted, rrMostCrossed, rrAll,
  rrIncremental
}
 

The postprocessing method.

More...

Public Member Functions

 EdgeInsertionModule ()
 Initializes an edge insertion module.
virtual ~EdgeInsertionModule ()
ReturnType call (PlanRep &PG, const List< edge > &origEdges)
 Inserts all edges in origEdges into PG.
ReturnType call (PlanRep &PG, const EdgeArray< int > &costOrig, const List< edge > &origEdges)
 Inserts all edges in origEdges with given costs into PG.
ReturnType call (PlanRep &PG, const EdgeArray< int > &costOrig, const List< edge > &origEdges, const EdgeArray< unsigned int > &edgeSubGraph)
 Inserts all edges in origEdges with given costs into PG, considering the Simultaneous Drawing Setting.
ReturnType call (PlanRep &PG, const EdgeArray< bool > &forbidOriginal, const List< edge > &origEdges)
 Inserts all edges in origEdges with given forbidden edges into PG.
ReturnType call (PlanRep &PG, const EdgeArray< int > &costOrig, const EdgeArray< bool > &forbidOriginal, const List< edge > &origEdges)
 Inserts all edges in origEdges with given costs and forbidden edges into PG.
ReturnType call (PlanRep &PG, const EdgeArray< int > &costOrig, const EdgeArray< bool > &forbidOriginal, const List< edge > &origEdges, const EdgeArray< unsigned int > &edgeSubGraph)
ReturnType callForbidCrossingGens (PlanRepUML &PG, const List< edge > &origEdges)
 Inserts all edges in origEdges into PG while avoiding crossings between generalizations.
ReturnType callForbidCrossingGens (PlanRepUML &PG, const EdgeArray< int > &costOrig, const List< edge > &origEdges)
 Inserts all edges in origEdges with given costs into PG while avoiding crossings between generalizations.
virtual int runsPostprocessing () const
 Returns the number of postprocessing runs after the algorithm has been called.
void * operator new (size_t nBytes)
void * operator new (size_t, void *p)
void operator delete (void *p, size_t nBytes)

Protected Member Functions

virtual ReturnType doCall (PlanRep &PG, const List< edge > &origEdges, bool forbidCrossingGens, const EdgeArray< int > *costOrig, const EdgeArray< bool > *forbiddenEdgeOrig, const EdgeArray< unsigned int > *edgeSubGraph)=0
 Actual algorithm call that has to be implemented by derived classes.

Detailed Description

Interface for edge insertion algorithms.

See also:
SubgraphPlanarizer

Definition at line 73 of file EdgeInsertionModule.h.


Member Enumeration Documentation

The postprocessing method.

Enumerator:
rrNone 

No postprocessing.

rrInserted 

Postprocessing only with the edges that have to be inserted.

rrMostCrossed 

Postprocessing with the edges involved in the most crossings.

rrAll 

Postproceesing with all edges.

rrIncremental 

Full postprocessing after each edge insertion.

Definition at line 76 of file EdgeInsertionModule.h.


Constructor & Destructor Documentation

ogdf::EdgeInsertionModule::EdgeInsertionModule (  )  [inline]

Initializes an edge insertion module.

Definition at line 85 of file EdgeInsertionModule.h.

virtual ogdf::EdgeInsertionModule::~EdgeInsertionModule (  )  [inline, virtual]

Definition at line 87 of file EdgeInsertionModule.h.


Member Function Documentation

ReturnType ogdf::EdgeInsertionModule::call ( PlanRep PG,
const List< edge > &  origEdges 
) [inline]

Inserts all edges in origEdges into PG.

Parameters:
PG is the input planarized representation and will also receive the result.
origEdges is the list of original edges (edges in the original graph of PG) that have to be inserted.
Returns:
the status of the result.

Definition at line 97 of file EdgeInsertionModule.h.

ReturnType ogdf::EdgeInsertionModule::call ( PlanRep PG,
const EdgeArray< int > &  costOrig,
const List< edge > &  origEdges 
) [inline]

Inserts all edges in origEdges with given costs into PG.

Parameters:
PG is the input planarized representation and will also receive the result.
costOrig is an edge array containing the costs of original edges; edges in PG without an original edge have zero costs.
origEdges is the list of original edges (edges in the original graph of PG) that have to be inserted.
Returns:
the status of the result.

Definition at line 111 of file EdgeInsertionModule.h.

ReturnType ogdf::EdgeInsertionModule::call ( PlanRep PG,
const EdgeArray< bool > &  forbidOriginal,
const List< edge > &  origEdges 
) [inline]

Inserts all edges in origEdges with given forbidden edges into PG.

Precondition:
No forbidden edge may be in origEdges.
Parameters:
PG is the input planarized representation and will also receive the result.
forbidOriginal is an edge array indicating if an original edge is forbidden to be crossed.
origEdges is the list of original edges (edges in the original graph of PG) that have to be inserted.
Returns:
the status of the result.

Definition at line 149 of file EdgeInsertionModule.h.

ReturnType ogdf::EdgeInsertionModule::call ( PlanRep PG,
const EdgeArray< int > &  costOrig,
const EdgeArray< bool > &  forbidOriginal,
const List< edge > &  origEdges 
) [inline]

Inserts all edges in origEdges with given costs and forbidden edges into PG.

Precondition:
No forbidden edge may be in origEdges.
Parameters:
PG is the input planarized representation and will also receive the result.
costOrig is an edge array containing the costs of original edges; edges in PG without an original edge have zero costs.
forbidOriginal is an edge array indicating if an original edge is forbidden to be crossed.
origEdges is the list of original edges (edges in the original graph of PG) that have to be inserted.
Returns:
the status of the result.

Definition at line 170 of file EdgeInsertionModule.h.

ReturnType ogdf::EdgeInsertionModule::call ( PlanRep PG,
const EdgeArray< int > &  costOrig,
const List< edge > &  origEdges,
const EdgeArray< unsigned int > &  edgeSubGraph 
) [inline]

Inserts all edges in origEdges with given costs into PG, considering the Simultaneous Drawing Setting.

Parameters:
PG is the input planarized representation and will also receive the result.
costOrig is an edge array containing the costs of original edges; edges in PG without an original edge have zero costs.
origEdges is the list of original edges (edges in the original graph of PG) that have to be inserted.
edgeSubGraph is an edge array specifying to which subgraph the edge belongs
Returns:
the status of the result.

Definition at line 129 of file EdgeInsertionModule.h.

ReturnType ogdf::EdgeInsertionModule::call ( PlanRep PG,
const EdgeArray< int > &  costOrig,
const EdgeArray< bool > &  forbidOriginal,
const List< edge > &  origEdges,
const EdgeArray< unsigned int > &  edgeSubGraph 
) [inline]

Definition at line 181 of file EdgeInsertionModule.h.

ReturnType ogdf::EdgeInsertionModule::callForbidCrossingGens ( PlanRepUML PG,
const EdgeArray< int > &  costOrig,
const List< edge > &  origEdges 
) [inline]

Inserts all edges in origEdges with given costs into PG while avoiding crossings between generalizations.

Parameters:
PG is the input planarized representation and will also receive the result.
costOrig is an edge array containing the costs of original edges; edges in PG without an original edge have zero costs.
origEdges is the list of original edges (edges in the original graph of PG) that have to be inserted.
Returns:
the status of the result.

Definition at line 216 of file EdgeInsertionModule.h.

ReturnType ogdf::EdgeInsertionModule::callForbidCrossingGens ( PlanRepUML PG,
const List< edge > &  origEdges 
) [inline]

Inserts all edges in origEdges into PG while avoiding crossings between generalizations.

Parameters:
PG is the input planarized representation and will also receive the result.
origEdges is the list of original edges (edges in the original graph of PG) that have to be inserted.
Returns:
the status of the result.

Definition at line 199 of file EdgeInsertionModule.h.

virtual ReturnType ogdf::EdgeInsertionModule::doCall ( PlanRep PG,
const List< edge > &  origEdges,
bool  forbidCrossingGens,
const EdgeArray< int > *  costOrig,
const EdgeArray< bool > *  forbiddenEdgeOrig,
const EdgeArray< unsigned int > *  edgeSubGraph 
) [protected, pure virtual]

Actual algorithm call that has to be implemented by derived classes.

Parameters:
PG is the input planarized representation and will also receive the result.
origEdges is the list of original edges (edges in the original graph of PG) that have to be inserted.
forbidCrossingGens is true if generalizations are not allowed to cross each other.
costOrig points to an edge array containing the costs of original edges; edges in PG without an original edge have zero costs.
forbiddenEdgeOrig points to an edge array indicating if an original edge is forbidden to be crossed.

Implemented in ogdf::FixedEmbeddingInserter, and ogdf::VariableEmbeddingInserter.

void ogdf::EdgeInsertionModule::operator delete ( void *  p,
size_t  nBytes 
) [inline]

Definition at line 254 of file EdgeInsertionModule.h.

void* ogdf::EdgeInsertionModule::operator new ( size_t  nBytes  )  [inline]

Definition at line 254 of file EdgeInsertionModule.h.

void* ogdf::EdgeInsertionModule::operator new ( size_t  ,
void *  p 
) [inline]

Definition at line 254 of file EdgeInsertionModule.h.

virtual int ogdf::EdgeInsertionModule::runsPostprocessing (  )  const [inline, virtual]

Returns the number of postprocessing runs after the algorithm has been called.

Reimplemented in ogdf::FixedEmbeddingInserter, ogdf::VariableEmbeddingInserter, and ogdf::VariableEmbeddingInserter2.

Definition at line 224 of file EdgeInsertionModule.h.


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