Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
UMLEdgeInsertionModule.h
Go to the documentation of this file.
1
32#pragma once
33
34#include <ogdf/basic/Logger.h>
35#include <ogdf/basic/Module.h>
38
39namespace ogdf {
40
42
49public:
52
55
58
60 virtual UMLEdgeInsertionModule* clone() const = 0;
61
63
70 return doCall(pr, origEdges, nullptr, nullptr);
71 }
72
74
82 return doCall(pr, origEdges, &costOrig, nullptr);
83 }
84
87
97 const EdgeArray<int>* pCostOrig = nullptr,
98 const EdgeArray<uint32_t>* pEdgeSubGraphs = nullptr) {
99 return doCall(pr, origEdges, pCostOrig, pEdgeSubGraphs);
100 }
101
102
103protected:
105
116
118};
119
120}
Contains logging functionality.
Declares base class for all module types.
Declaration of class PlanRepLight.
Declares base class for modules with timeout functionality.
The parameterized class Array implements dynamic arrays of type E.
Definition Array.h:214
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Base class for modules.
Definition Module.h:47
ReturnType
The return type of a module.
Definition Module.h:50
Light-weight version of a planarized representation, associated with a PlanRep.
class for timeout funtionality.
Definition Timeouter.h:46
Interface for UML edge insertion algorithms.
ReturnType call(PlanRepLight &pr, const Array< edge > &origEdges)
Inserts all edges in origEdges into pr while avoiding crossings between generalizations.
ReturnType call(PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > &costOrig)
Inserts all edges in origEdges with given costs into pr while avoiding crossings between generalizati...
virtual ~UMLEdgeInsertionModule()
Destructor.
UMLEdgeInsertionModule()
Initializes a UML edge insertion module (default constructor).
virtual ReturnType doCall(PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > *pCostOrig, const EdgeArray< uint32_t > *pEdgeSubGraphs)=0
Actual algorithm call that has to be implemented by derived classes.
virtual UMLEdgeInsertionModule * clone() const =0
Returns a new instance of the UML edge insertion module with the same option settings.
ReturnType callEx(PlanRepLight &pr, const Array< edge > &origEdges, const EdgeArray< int > *pCostOrig=nullptr, const EdgeArray< uint32_t > *pEdgeSubGraphs=nullptr)
Inserts all edges in origEdges into pr while avoiding crossings between generalizations,...
UMLEdgeInsertionModule(const UMLEdgeInsertionModule &eim)
Initializes a UML edge insertion module (copy constructor).
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
#define OGDF_MALLOC_NEW_DELETE
Makes the class use malloc for memory allocation.
Definition memory.h:91
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.