Interface for edge insertion algorithms. More...
#include <ogdf/planarity/EdgeInsertionModule.h>
 Inheritance diagram for ogdf::EdgeInsertionModule:
 Inheritance diagram for ogdf::EdgeInsertionModule:| Public Member Functions | |
| EdgeInsertionModule () | |
| Initializes an edge insertion module (default constructor). | |
| EdgeInsertionModule (const EdgeInsertionModule &eim) | |
| Initializes an edge insertion module (copy constructor). | |
| virtual | ~EdgeInsertionModule () | 
| Destructor. | |
| ReturnType | call (PlanRepLight &pr, const Array< edge > &origEdges) | 
| Inserts all edges in origEdgesintopr. | |
| ReturnType | call (PlanRepLight &pr, const EdgeArray< bool > &forbiddenOrig, const Array< edge > &origEdges) | 
| Inserts all edges in origEdgeswith given forbidden edges intopr. | |
| ReturnType | call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const Array< edge > &origEdges) | 
| Inserts all edges in origEdgeswith given costs intopr. | |
| ReturnType | call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const Array< edge > &origEdges, const EdgeArray< uint32_t > &edgeSubGraphs) | 
| Inserts all edges in origEdgeswith given costs and subgraphs (for simultaneous drawing) intopr. | |
| ReturnType | call (PlanRepLight &pr, const EdgeArray< int > &costOrig, const EdgeArray< bool > &forbiddenOrig, const Array< edge > &origEdges) | 
| Inserts all edges in origEdgeswith given costs and forbidden edges intopr. | |
| 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 origEdgeswith given costs, forbidden edges, and subgraphs (for simultaneous drawing) intopr. | |
| 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 origEdgesintopr, optionally costs, forbidden edges, and subgraphs (for simultaneous drawing) may be given. | |
| virtual EdgeInsertionModule * | clone () const =0 | 
| Returns a new instance of the edge insertion module with the same option settings. | |
|  Public Member Functions inherited from ogdf::Module | |
| Module () | |
| Initializes a module. | |
| virtual | ~Module () | 
|  Public Member Functions inherited from ogdf::Timeouter | |
| Timeouter () | |
| timeout is turned of by default | |
| Timeouter (bool t) | |
| timeout is turned off (false) or on (true) (with 0 second) | |
| Timeouter (const Timeouter &t) | |
| Timeouter (double t) | |
| timeout is set to the given value (seconds) | |
| ~Timeouter () | |
| bool | isTimeLimit () const | 
| returns whether any time limit is set or not | |
| Timeouter & | operator= (const Timeouter &t) | 
| double | timeLimit () const | 
| returns the current time limit for the call | |
| void | timeLimit (bool t) | 
| shorthand to turn timelimit off or on (with 0 seconds) | |
| void | timeLimit (double t) | 
| sets the time limit for the call (in seconds); <0 means no limit. | |
| 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. | |
| Additional Inherited Members | |
|  Public Types inherited from ogdf::Module | |
| enum class | ReturnType { Feasible , Optimal , NoFeasibleSolution , TimeoutFeasible , TimeoutInfeasible , Error } | 
| The return type of a module.  More... | |
|  Static Public Member Functions inherited from ogdf::Module | |
| static bool | isSolution (ReturnType ret) | 
| Returns true iff retindicates that the module returned a feasible solution. | |
|  Protected Attributes inherited from ogdf::Timeouter | |
| double | m_timeLimit | 
| Time limit for module calls (< 0 means no limit). | |
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 prwithout 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 prwithout 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 prwithout 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 prwithout 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 prwithout 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::FixedEmbeddingInserter, ogdf::MultiEdgeApproxInserter, ogdf::VariableEmbeddingInserter, and ogdf::VariableEmbeddingInserterDyn.
| 
 | 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 prwithout 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::VariableEmbeddingInserter, ogdf::MultiEdgeApproxInserter, ogdf::FixedEmbeddingInserter, and ogdf::VariableEmbeddingInserterDyn.