Interface for edge insertion algorithms. More...
#include <ogdf/planarity/EdgeInsertionModule.h>
Public Member Functions | |
EdgeInsertionModule () | |
Initializes an edge insertion module (default constructor). More... | |
EdgeInsertionModule (const EdgeInsertionModule &eim) | |
Initializes an edge insertion module (copy constructor). More... | |
virtual | ~EdgeInsertionModule () |
Destructor. More... | |
ReturnType | call (PlanRepLight &pr, const Array< edge > &origEdges) |
Inserts all edges in origEdges into pr . More... | |
ReturnType | call (PlanRepLight &pr, const EdgeArray< bool > &forbiddenOrig, const Array< edge > &origEdges) |
Inserts all edges in origEdges with given forbidden edges into pr . More... | |
ReturnType | call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const Array< edge > &origEdges) |
Inserts all edges in origEdges with given costs into pr . More... | |
ReturnType | call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const Array< edge > &origEdges, const EdgeArray< uint32_t > &edgeSubGraphs) |
Inserts all edges in origEdges with given costs and subgraphs (for simultaneous drawing) into pr . More... | |
ReturnType | call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const EdgeArray< bool > &forbiddenOrig, const Array< edge > &origEdges) |
Inserts all edges in origEdges with given costs and forbidden edges into pr . More... | |
ReturnType | call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const EdgeArray< bool > &forbiddenOrig, const Array< edge > &origEdges, const EdgeArray< uint32_t > &edgeSubGraphs) |
Inserts all edges in origEdges with given costs, forbidden edges, and subgraphs (for simultaneous drawing) into pr . More... | |
ReturnType | callEx (PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > *pCostOrig=nullptr, const EdgeArray< bool > *pForbiddenOrig=nullptr, const EdgeArray< uint32_t > *pEdgeSubGraphs=nullptr) |
Inserts all edges in origEdges into pr , optionally costs, forbidden edges, and subgraphs (for simultaneous drawing) may be given. More... | |
virtual EdgeInsertionModule * | clone () const =0 |
Returns a new instance of the edge insertion module with the same option settings. More... | |
Public Member Functions inherited from ogdf::Module | |
Module () | |
Initializes a module. More... | |
virtual | ~Module () |
Public Member Functions inherited from ogdf::Timeouter | |
Timeouter () | |
timeout is turned of by default More... | |
Timeouter (bool t) | |
timeout is turned off (false) or on (true) (with 0 second) More... | |
Timeouter (const Timeouter &t) | |
Timeouter (double t) | |
timeout is set to the given value (seconds) More... | |
~Timeouter () | |
bool | isTimeLimit () const |
returns whether any time limit is set or not More... | |
Timeouter & | operator= (const Timeouter &t) |
double | timeLimit () const |
returns the current time limit for the call More... | |
void | timeLimit (bool t) |
shorthand to turn timelimit off or on (with 0 seconds) More... | |
void | timeLimit (double t) |
sets the time limit for the call (in seconds); <0 means no limit. More... | |
Protected Member Functions | |
virtual ReturnType | doCall (PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > *pCostOrig, const EdgeArray< bool > *pForbiddenOrig, const EdgeArray< uint32_t > *pEdgeSubGraphs)=0 |
Actual algorithm call that has to be implemented by derived classes. More... | |
Additional Inherited Members | |
Public Types inherited from ogdf::Module | |
enum | ReturnType { ReturnType::Feasible, ReturnType::Optimal, ReturnType::NoFeasibleSolution, ReturnType::TimeoutFeasible, ReturnType::TimeoutInfeasible, ReturnType::Error } |
The return type of a module. More... | |
Static Public Member Functions inherited from ogdf::Module | |
static bool | isSolution (ReturnType ret) |
Returns true iff ret indicates that the module returned a feasible solution. More... | |
Protected Attributes inherited from ogdf::Timeouter | |
double | m_timeLimit |
Time limit for module calls (< 0 means no limit). More... | |
Interface for edge insertion algorithms.
Definition at line 50 of file EdgeInsertionModule.h.
|
inline |
Initializes an edge insertion module (default constructor).
Definition at line 53 of file EdgeInsertionModule.h.
|
inline |
Initializes an edge insertion module (copy constructor).
Definition at line 56 of file EdgeInsertionModule.h.
|
inlinevirtual |
Destructor.
Definition at line 59 of file EdgeInsertionModule.h.
|
inline |
Inserts all edges in origEdges
into pr
.
pr | is the input planarized representation and will also receive the result. |
origEdges | is the array of original edges (edges in the original graph of pr ) that have to be inserted. |
Definition at line 71 of file EdgeInsertionModule.h.
|
inline |
Inserts all edges in origEdges
with given forbidden edges into pr
.
origEdges
.pr | is the input planarized representation and will also receive the result. |
forbiddenOrig | is an edge array indicating if an original edge is forbidden to be crossed. |
origEdges | is the array of original edges (edges in the original graph of pr ) that have to be inserted. |
Definition at line 113 of file EdgeInsertionModule.h.
|
inline |
Inserts all edges in origEdges
with given costs into pr
.
pr | is the input planarized representation and will also receive the result. |
costOrig | is an edge array containing the costs of original edges; edges in pr without an original edge have zero costs. |
origEdges | is the array of original edges (edges in the original graph of pr ) that have to be inserted. |
Definition at line 84 of file EdgeInsertionModule.h.
|
inline |
Inserts all edges in origEdges
with given costs and subgraphs (for simultaneous drawing) into pr
.
pr | is the input planarized representation and will also receive the result. |
costOrig | is an edge array containing the costs of original edges; edges in pr without an original edge have zero costs. |
origEdges | is the array of original edges (edges in the original graph of pr ) that have to be inserted. |
edgeSubGraphs | is an edge array specifying to which subgraph an edge belongs. |
Definition at line 98 of file EdgeInsertionModule.h.
|
inline |
Inserts all edges in origEdges
with given costs and forbidden edges into pr
.
origEdges
.pr | is the input planarized representation and will also receive the result. |
costOrig | is an edge array containing the costs of original edges; edges in pr without an original edge have zero costs. |
forbiddenOrig | is an edge array indicating if an original edge is forbidden to be crossed. |
origEdges | is the array of original edges (edges in the original graph of pr ) that have to be inserted. |
Definition at line 130 of file EdgeInsertionModule.h.
|
inline |
Inserts all edges in origEdges
with given costs, forbidden edges, and subgraphs (for simultaneous drawing) into pr
.
origEdges
.pr | is the input planarized representation and will also receive the result. |
costOrig | is an edge array containing the costs of original edges; edges in pr without an original edge have zero costs. |
forbiddenOrig | is an edge array indicating if an original edge is forbidden to be crossed. |
origEdges | is the array of original edges (edges in the original graph of pr ) that have to be inserted. |
edgeSubGraphs | is an edge array specifying to which subgraph an edge belongs. |
Definition at line 148 of file EdgeInsertionModule.h.
|
inline |
Inserts all edges in origEdges
into pr
, optionally costs, forbidden edges, and subgraphs (for simultaneous drawing) may be given.
pr | is the input planarized representation and will also receive the result. |
origEdges | is the array of original edges (edges in the original graph of pr ) that have to be inserted. |
pCostOrig | points to an edge array containing the costs of original edges; edges in pr without an original edge have zero costs. May be a 0-pointer, in which case all edges have cost 1. |
pForbiddenOrig | points to an edge array indicating whether an original edge is forbidden to be crossed. May be a 0-pointer, in which case no edges are forbidden. |
pEdgeSubGraphs | points to an edge array specifying to which subgraph an edge belongs. May be a 0-poiner, in which case no subgraphs / simultaneous embedding is used. |
Definition at line 167 of file EdgeInsertionModule.h.
|
pure virtual |
Returns a new instance of the edge insertion module with the same option settings.
Implemented in ogdf::MultiEdgeApproxInserter, ogdf::FixedEmbeddingInserter, ogdf::VariableEmbeddingInserterDyn, and ogdf::VariableEmbeddingInserter.
|
protectedpure virtual |
Actual algorithm call that has to be implemented by derived classes.
pr | is the input planarized representation and will also receive the result. |
origEdges | is the array of original edges (edges in the original graph of pr ) that have to be inserted. |
pCostOrig | points to an edge array containing the costs of original edges; edges in pr without an original edge have zero costs. |
pForbiddenOrig | points to an edge array indicating whether an original edge is forbidden to be crossed. |
pEdgeSubGraphs | points to an edge array specifying to which subgraph an edge belongs. |
Implemented in ogdf::VariableEmbeddingInserterDyn, ogdf::FixedEmbeddingInserter, ogdf::MultiEdgeApproxInserter, and ogdf::VariableEmbeddingInserter.