Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00044 #ifndef OGDF_MAX_CPLANAR_EDGE_H
00045 #define OGDF_MAX_CPLANAR_EDGE_H
00046
00047 #include <ogdf/basic/Graph_d.h>
00048 #include <ogdf/basic/Logger.h>
00049
00050 #include <abacus/variable.h>
00051
00052 namespace ogdf {
00053
00054
00055 class EdgeVar : public ABA_VARIABLE {
00056 friend class Sub;
00057 public:
00058 enum edgeType {ORIGINAL, CONNECT};
00059
00060 EdgeVar(ABA_MASTER *master, double obj, edgeType eType, node source, node target);
00062 EdgeVar(ABA_MASTER *master, double obj, node source, node target);
00064 EdgeVar(ABA_MASTER *master, double obj, double lbound, node source, node target);
00065
00066 virtual ~EdgeVar();
00067
00068 edge theEdge() const {return m_edge;}
00069 node sourceNode() const {return m_source;}
00070 node targetNode() const {return m_target;}
00071 edgeType theEdgeType() const {return m_eType;}
00072
00073
00074 virtual void printMe(ostream& out) {
00075 out << "[Var: " << sourceNode() << "->" << targetNode() << " (" << ((theEdgeType()==EdgeVar::ORIGINAL)?"original":"connect") << ") ZF=" << obj() << "]";
00076 }
00077
00078 private:
00079
00080
00081 edgeType m_eType;
00082
00083
00084 node m_source;
00085 node m_target;
00086 edge m_edge;
00087
00088 };
00089
00090 }
00091
00092 #endif
00093