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/Module.h>
35 #include <ogdf/basic/Timeouter.h>
36 #include <ogdf/uml/PlanRepUML.h>
37 
38 namespace ogdf {
39 
42 public:
45 
48 
51 
53  virtual UMLCrossingMinimizationModule* clone() const = 0;
54 
56 
67  ReturnType call(PlanRepUML& prUML, int cc, int& crossingNumber,
68  const EdgeArray<int>* pCostOrig = nullptr) {
69  return doCall(prUML, cc, pCostOrig, crossingNumber);
70  }
71 
73 
84  ReturnType operator()(PlanRepUML& prUML, int cc, int& crossingNumber,
85  const EdgeArray<int>* pCostOrig = nullptr) {
86  return doCall(prUML, cc, pCostOrig, crossingNumber);
87  }
88 
90  static bool checkCrossingGens(const PlanRepUML& prUML);
91 
92 protected:
94 
105  virtual ReturnType doCall(PlanRepUML& prUML, int cc, const EdgeArray<int>* pCostOrig,
106  int& crossingNumber) = 0;
107 
109 };
110 
111 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::PlanRepUML
Planarized representation (of a connected component) of a UMLGraph; allows special handling of hierar...
Definition: PlanRepUML.h:48
PlanRepUML.h
Declaration of class PlanRepUML.
ogdf::UMLCrossingMinimizationModule::UMLCrossingMinimizationModule
UMLCrossingMinimizationModule()
Initializes a UML crossing minimization module (default constructor).
Definition: UMLCrossingMinimizationModule.h:44
ogdf::UMLCrossingMinimizationModule::UMLCrossingMinimizationModule
UMLCrossingMinimizationModule(const UMLCrossingMinimizationModule &cmm)
Initializes a UML crossing minimization module (copy constructor).
Definition: UMLCrossingMinimizationModule.h:47
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:84
Timeouter.h
Declares base class for modules with timeout functionality.
ogdf::UMLCrossingMinimizationModule
Base class for UML crossing minimization algorithms.
Definition: UMLCrossingMinimizationModule.h:41
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::UMLCrossingMinimizationModule::~UMLCrossingMinimizationModule
virtual ~UMLCrossingMinimizationModule()
Destructor.
Definition: UMLCrossingMinimizationModule.h:50
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:67
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