Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
EdgeVar.h
Go to the documentation of this file.
1
34#pragma once
35
36#include <ogdf/basic/Graph_d.h>
37#include <ogdf/basic/Logger.h>
38
40
41namespace ogdf {
42namespace cluster_planarity {
43
44class EdgeVar : public abacus::Variable {
45 friend class MaxCPlanarSub;
46
47public:
48 enum class EdgeType { Original, Connect };
49
50 EdgeVar(abacus::Master* master, double obj, EdgeType eType, node source, node target);
52 EdgeVar(abacus::Master* master, double obj, node source, node target);
54 EdgeVar(abacus::Master* master, double obj, double lbound, node source, node target);
55
56 virtual ~EdgeVar();
57
58 edge theEdge() const { return m_edge; }
59
60 node sourceNode() const { return m_source; }
61
62 node targetNode() const { return m_target; }
63
64 EdgeType theEdgeType() const { return m_eType; }
65#if 0
66 double objCoeff() const {return m_objCoeff;}
67#endif
68
69 virtual void printMe(std::ostream& out) {
70 out << "[Var: " << sourceNode() << "->" << targetNode() << " ("
71 << ((theEdgeType() == EdgeVar::EdgeType::Original) ? "original" : "connect")
72 << ") ZF=" << obj() << "]";
73 }
74
75private:
76 // The edge type of the variable
78
79 // The corresponding nodes and edge
83};
84
85}
86}
Pure declaration header, find template implementation in Graph.h.
Contains logging functionality.
The master of the optimization.
Definition master.h:69
Forms the virtual base class for all possible variables given in pool format.
Definition variable.h:59
virtual double obj() const
Returns the objective function coefficient.
Definition variable.h:112
Class for the representation of edges.
Definition Graph_d.h:300
Class for the representation of nodes.
Definition Graph_d.h:177
EdgeVar(abacus::Master *master, double obj, node source, node target)
Simple version for cplanarity testing (only connect edges allowed)
EdgeVar(abacus::Master *master, double obj, EdgeType eType, node source, node target)
virtual void printMe(std::ostream &out)
Definition EdgeVar.h:69
EdgeVar(abacus::Master *master, double obj, double lbound, node source, node target)
Simple version for cplanarity testing (only connect edges allowed, lower bound given)
EdgeType theEdgeType() const
Definition EdgeVar.h:64
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
variable.