Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
MMEdgeInsertionModule.h
Go to the documentation of this file.
1
33#pragma once
34
35#include <ogdf/basic/Graph.h>
36#include <ogdf/basic/Module.h>
37#include <ogdf/basic/basic.h>
38#include <ogdf/basic/memory.h>
39
40namespace ogdf {
41class PlanRepExpansion;
42template<class E>
43class List;
44
51public:
54
55 // destruction
57
66 ReturnType call(PlanRepExpansion& PG, const List<edge>& origEdges) {
67 return doCall(PG, origEdges, nullptr);
68 }
69
81 const EdgeArray<bool>& forbiddenEdgeOrig) {
82 return doCall(PG, origEdges, &forbiddenEdgeOrig);
83 }
84
85protected:
95 virtual ReturnType doCall(PlanRepExpansion& PG, const List<edge>& origEdges,
96 const EdgeArray<bool>* forbiddenEdgeOrig) = 0;
97
99};
100
101}
Includes declaration of graph class.
Declares base class for all module types.
Basic declarations, included by all source files.
Doubly linked lists (maintaining the length of the list).
Definition List.h:1451
Interface for minor-monotone edge insertion algorithms.
ReturnType call(PlanRepExpansion &PG, const List< edge > &origEdges)
Inserts all edges in origEdges into PG.
virtual ReturnType doCall(PlanRepExpansion &PG, const List< edge > &origEdges, const EdgeArray< bool > *forbiddenEdgeOrig)=0
Actual algorithm call that has to be implemented by derived classes.
MMEdgeInsertionModule()
Initializes a minor-monotone edge insertion module.
ReturnType call(PlanRepExpansion &PG, const List< edge > &origEdges, const EdgeArray< bool > &forbiddenEdgeOrig)
Inserts all edges in origEdges into PG and forbids crossing forbiddenEdges.
Base class for modules.
Definition Module.h:49
ReturnType
The return type of a module.
Definition Module.h:52
Planarized representations (of a connected component) of a graph.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition Graph_d.h:717
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
Definition config.h:117
#define OGDF_MALLOC_NEW_DELETE
Makes the class use malloc for memory allocation.
Definition memory.h:92
Declaration of memory manager for allocating small pieces of memory.
The namespace for all OGDF objects.