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/Logger.h>
35 #include <ogdf/basic/Module.h>
36 #include <ogdf/basic/Timeouter.h>
38 
39 namespace ogdf {
40 
42 
49 public:
52 
55 
58 
60  virtual UMLEdgeInsertionModule* clone() const = 0;
61 
63 
69  ReturnType call(PlanRepLight& pr, const Array<edge>& origEdges) {
70  return doCall(pr, origEdges, nullptr, nullptr);
71  }
72 
74 
81  ReturnType call(PlanRepLight& pr, const Array<edge>& origEdges, const EdgeArray<int>& costOrig) {
82  return doCall(pr, origEdges, &costOrig, nullptr);
83  }
84 
87 
96  ReturnType callEx(PlanRepLight& pr, const Array<edge>& origEdges,
97  const EdgeArray<int>* pCostOrig = nullptr,
98  const EdgeArray<uint32_t>* pEdgeSubGraphs = nullptr) {
99  return doCall(pr, origEdges, pCostOrig, pEdgeSubGraphs);
100  }
101 
102 
103 protected:
105 
114  virtual ReturnType doCall(PlanRepLight& pr, const Array<edge>& origEdges,
115  const EdgeArray<int>* pCostOrig, const EdgeArray<uint32_t>* pEdgeSubGraphs) = 0;
116 
118 };
119 
120 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::UMLEdgeInsertionModule::UMLEdgeInsertionModule
UMLEdgeInsertionModule(const UMLEdgeInsertionModule &eim)
Initializes a UML edge insertion module (copy constructor).
Definition: UMLEdgeInsertionModule.h:54
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:69
ogdf::PlanRepLight
Light-weight version of a planarized representation, associated with a PlanRep.
Definition: PlanRepLight.h:43
ogdf::UMLEdgeInsertionModule
Interface for UML edge insertion algorithms.
Definition: UMLEdgeInsertionModule.h:48
ogdf::UMLEdgeInsertionModule::UMLEdgeInsertionModule
UMLEdgeInsertionModule()
Initializes a UML edge insertion module (default constructor).
Definition: UMLEdgeInsertionModule.h:51
Timeouter.h
Declares base class for modules with timeout functionality.
Logger.h
Contains logging functionality.
OGDF_MALLOC_NEW_DELETE
#define OGDF_MALLOC_NEW_DELETE
Makes the class use malloc for memory allocation.
Definition: memory.h:91
ogdf::Module
Base class for modules.
Definition: Module.h:47
ogdf::Array
The parameterized class Array implements dynamic arrays of type E.
Definition: Array.h:214
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:96
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:81
PlanRepLight.h
Declaration of class PlanRepLight.
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:57
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:50
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:709