Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

UMLEdgeInsertionModule.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Array.h>
35 #include <ogdf/basic/Graph.h>
36 #include <ogdf/basic/Module.h>
37 #include <ogdf/basic/Timeouter.h>
38 #include <ogdf/basic/basic.h>
39 #include <ogdf/basic/memory.h>
40 
41 #include <cstdint>
42 
43 namespace ogdf {
44 class PlanRepLight;
45 
47 
54 public:
57 
60 
63 
65  virtual UMLEdgeInsertionModule* clone() const = 0;
66 
68 
74  ReturnType call(PlanRepLight& pr, const Array<edge>& origEdges) {
75  return doCall(pr, origEdges, nullptr, nullptr);
76  }
77 
79 
86  ReturnType call(PlanRepLight& pr, const Array<edge>& origEdges, const EdgeArray<int>& costOrig) {
87  return doCall(pr, origEdges, &costOrig, nullptr);
88  }
89 
92 
101  ReturnType callEx(PlanRepLight& pr, const Array<edge>& origEdges,
102  const EdgeArray<int>* pCostOrig = nullptr,
103  const EdgeArray<uint32_t>* pEdgeSubGraphs = nullptr) {
104  return doCall(pr, origEdges, pCostOrig, pEdgeSubGraphs);
105  }
106 
107 
108 protected:
110 
119  virtual ReturnType doCall(PlanRepLight& pr, const Array<edge>& origEdges,
120  const EdgeArray<int>* pCostOrig, const EdgeArray<uint32_t>* pEdgeSubGraphs) = 0;
121 
123 };
124 
125 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
Graph.h
Includes declaration of graph class.
ogdf::UMLEdgeInsertionModule::UMLEdgeInsertionModule
UMLEdgeInsertionModule(const UMLEdgeInsertionModule &eim)
Initializes a UML edge insertion module (copy constructor).
Definition: UMLEdgeInsertionModule.h:59
ogdf::UMLEdgeInsertionModule::call
ReturnType call(PlanRepLight &pr, const Array< edge > &origEdges)
Inserts all edges in origEdges into pr while avoiding crossings between generalizations.
Definition: UMLEdgeInsertionModule.h:74
ogdf::PlanRepLight
Light-weight version of a planarized representation, associated with a PlanRep.
Definition: PlanRepLight.h:45
ogdf::UMLEdgeInsertionModule
Interface for UML edge insertion algorithms.
Definition: UMLEdgeInsertionModule.h:53
ogdf::UMLEdgeInsertionModule::UMLEdgeInsertionModule
UMLEdgeInsertionModule()
Initializes a UML edge insertion module (default constructor).
Definition: UMLEdgeInsertionModule.h:56
Timeouter.h
Declares base class for modules with timeout functionality.
OGDF_MALLOC_NEW_DELETE
#define OGDF_MALLOC_NEW_DELETE
Makes the class use malloc for memory allocation.
Definition: memory.h:92
ogdf::Module
Base class for modules.
Definition: Module.h:49
ogdf::Array
The parameterized class Array implements dynamic arrays of type E.
Definition: Array.h:219
ogdf::UMLEdgeInsertionModule::callEx
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,...
Definition: UMLEdgeInsertionModule.h:101
ogdf::UMLEdgeInsertionModule::call
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...
Definition: UMLEdgeInsertionModule.h:86
basic.h
Basic declarations, included by all source files.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::UMLEdgeInsertionModule::~UMLEdgeInsertionModule
virtual ~UMLEdgeInsertionModule()
Destructor.
Definition: UMLEdgeInsertionModule.h:62
Array.h
Declaration and implementation of Array class and Array algorithms.
ogdf::Timeouter
class for timeout funtionality.
Definition: Timeouter.h:46
Module.h
Declares base class for all module types.
ogdf::Module::ReturnType
ReturnType
The return type of a module.
Definition: Module.h:52
memory.h
Declaration of memory manager for allocating small pieces of memory.
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:716