Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

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 
41 namespace ogdf {
42 namespace cluster_planarity {
43 
44 class EdgeVar : public abacus::Variable {
45  friend class MaxCPlanarSub;
46 
47 public:
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 
75 private:
76  // The edge type of the variable
78 
79  // The corresponding nodes and edge
83 };
84 
85 }
86 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::cluster_planarity::EdgeVar::m_source
node m_source
Definition: EdgeVar.h:80
ogdf::cluster_planarity::EdgeVar::targetNode
node targetNode() const
Definition: EdgeVar.h:62
ogdf::cluster_planarity::MaxCPlanarSub
Definition: MaxCPlanarSub.h:47
ogdf::cluster_planarity::EdgeVar::m_target
node m_target
Definition: EdgeVar.h:81
abacus::Variable::obj
virtual double obj() const
Returns the objective function coefficient.
Definition: variable.h:112
ogdf::cluster_planarity::EdgeVar::EdgeType
EdgeType
Definition: EdgeVar.h:48
ogdf::cluster_planarity::EdgeVar::m_edge
edge m_edge
Definition: EdgeVar.h:82
Logger.h
Contains logging functionality.
ogdf::cluster_planarity::EdgeVar::EdgeType::Connect
@ Connect
ogdf::cluster_planarity::EdgeVar::m_eType
EdgeType m_eType
Definition: EdgeVar.h:77
ogdf::cluster_planarity::EdgeVar::EdgeType::Original
@ Original
ogdf::cluster_planarity::EdgeVar::theEdge
edge theEdge() const
Definition: EdgeVar.h:58
abacus::Variable
Forms the virtual base class for all possible variables given in pool format.
Definition: variable.h:59
variable.h
variable.
ogdf::cluster_planarity::EdgeVar::sourceNode
node sourceNode() const
Definition: EdgeVar.h:60
ogdf::cluster_planarity::EdgeVar::printMe
virtual void printMe(std::ostream &out)
Definition: EdgeVar.h:69
ogdf::cluster_planarity::EdgeVar::theEdgeType
EdgeType theEdgeType() const
Definition: EdgeVar.h:64
ogdf::EdgeElement
Class for the representation of edges.
Definition: Graph_d.h:356
ogdf::cluster_planarity::EdgeVar::~EdgeVar
virtual ~EdgeVar()
Graph_d.h
Pure declaration header, find template implementation in Graph.h.
ogdf::NodeElement
Class for the representation of nodes.
Definition: Graph_d.h:233
ogdf::cluster_planarity::EdgeVar
Definition: EdgeVar.h:44
ogdf::cluster_planarity::EdgeVar::EdgeVar
EdgeVar(abacus::Master *master, double obj, EdgeType eType, node source, node target)
abacus::Master
The master of the optimization.
Definition: master.h:69