Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

UMLCrossingMinimizationModule.h
Go to the documentation of this file.
1 
32 #pragma once
33 
34 #include <ogdf/basic/Graph.h>
35 #include <ogdf/basic/Module.h>
36 #include <ogdf/basic/Timeouter.h>
37 #include <ogdf/basic/basic.h>
38 #include <ogdf/basic/memory.h>
39 
40 namespace ogdf {
41 class PlanRepUML;
42 
45 public:
48 
51 
54 
56  virtual UMLCrossingMinimizationModule* clone() const = 0;
57 
59 
70  ReturnType call(PlanRepUML& prUML, int cc, int& crossingNumber,
71  const EdgeArray<int>* pCostOrig = nullptr) {
72  return doCall(prUML, cc, pCostOrig, crossingNumber);
73  }
74 
76 
87  ReturnType operator()(PlanRepUML& prUML, int cc, int& crossingNumber,
88  const EdgeArray<int>* pCostOrig = nullptr) {
89  return doCall(prUML, cc, pCostOrig, crossingNumber);
90  }
91 
93  static bool checkCrossingGens(const PlanRepUML& prUML);
94 
95 protected:
97 
108  virtual ReturnType doCall(PlanRepUML& prUML, int cc, const EdgeArray<int>* pCostOrig,
109  int& crossingNumber) = 0;
110 
112 };
113 
114 }
ogdf
The namespace for all OGDF objects.
Definition: multilevelmixer.cpp:39
Graph.h
Includes declaration of graph class.
ogdf::PlanRepUML
Planarized representation (of a connected component) of a UMLGraph; allows special handling of hierar...
Definition: PlanRepUML.h:55
ogdf::UMLCrossingMinimizationModule::UMLCrossingMinimizationModule
UMLCrossingMinimizationModule()
Initializes a UML crossing minimization module (default constructor).
Definition: UMLCrossingMinimizationModule.h:47
ogdf::UMLCrossingMinimizationModule::UMLCrossingMinimizationModule
UMLCrossingMinimizationModule(const UMLCrossingMinimizationModule &cmm)
Initializes a UML crossing minimization module (copy constructor).
Definition: UMLCrossingMinimizationModule.h:50
ogdf::UMLCrossingMinimizationModule::operator()
ReturnType operator()(PlanRepUML &prUML, int cc, int &crossingNumber, const EdgeArray< int > *pCostOrig=nullptr)
Computes a planarized representation of the input graph.
Definition: UMLCrossingMinimizationModule.h:87
Timeouter.h
Declares base class for modules with timeout functionality.
ogdf::UMLCrossingMinimizationModule
Base class for UML crossing minimization algorithms.
Definition: UMLCrossingMinimizationModule.h:44
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::UMLCrossingMinimizationModule::~UMLCrossingMinimizationModule
virtual ~UMLCrossingMinimizationModule()
Destructor.
Definition: UMLCrossingMinimizationModule.h:53
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::UMLCrossingMinimizationModule::call
ReturnType call(PlanRepUML &prUML, int cc, int &crossingNumber, const EdgeArray< int > *pCostOrig=nullptr)
Computes a planarized representation of the input graph.
Definition: UMLCrossingMinimizationModule.h:70
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