#include <Planar.h>
Public Member Functions | |
PlanarEdge () | |
CapType | getCapacity () |
CapType | getRevCapacity () |
void | setCapacity (CapType cap) |
void | setRevCapacity (CapType rcap) |
void | setEdge (PlanarVertex *tail, PlanarVertex *head, PlanarFace *tailDual, PlanarFace *headDual, CapType cap=1.0, CapType rcap=0.0) |
void | setFlags (uchar value) |
uchar | getFlags () |
PlanarVertex * | getHead () |
PlanarVertex * | getTail () |
PlanarFace * | getHeadDual () |
PlanarFace * | getTailDual () |
Friends | |
class | PlanarVertex |
Besides PlanarVertex, PlanarEdge is the central data structure to encode the algebraic embedding of a planar graph.
Every edge connects two planar vertices and possesses a PlanarFace on both its right and left hand side. Besides its forward and backward capacities it is also possible to assign up to 8 flags to every edge. This data structure is only used in order to encode the planar embedding. During the computation of the maximum flow, the encoded information are implicitly stored in a DynNode.
PlanarEdge::PlanarEdge | ( | ) |
the constructor assigns to the neighboring faces and the connecting vertices a NULL
reference. The capacities and the flags are assigned to 0.
|
inline |
provides the capacity for the arc from getTail() to getHead().
Referenced by CutPlanar::getMaxFlow(), CutPlanar::initialize(), and CutPlanar::preFlow().
|
inline |
provides the capacity for the arc from getHead() to getTail().
Referenced by CutPlanar::getMaxFlow(), CutPlanar::initialize(), and CutPlanar::preFlow().
|
inline |
sets the forward capacity for the arc (head to tail) to the new value cap
.
Referenced by CutPlanar::getMaxFlow(), CutPlanar::initialize(), and CutPlanar::preFlow().
|
inline |
sets the backward capacity for the arc (tail to head) to the new value rcap
.
Referenced by CutPlanar::getMaxFlow(), CutPlanar::initialize(), and CutPlanar::preFlow().
void PlanarEdge::setEdge | ( | PlanarVertex * | tail, |
PlanarVertex * | head, | ||
PlanarFace * | tailDual, | ||
PlanarFace * | headDual, | ||
CapType | cap = 1.0 , |
||
CapType | rcap = 0.0 |
||
) |
this method defines an edge from tail
to head
with the faces tailDual
and headDual
as left resp. right face. Additionally, the forward and backward capacity are set to cap
resp. rcap
.
Referenced by CutShape::setDissimilarityMatrix().
|
inline |
assigns a new set of flags to the edge.
Referenced by CutPlanar::initialize().
|
inline |
provides the flags assigned to the edge.
Referenced by CutPlanar::getMaxFlow(), and CutPlanar::initialize().
|
inline |
provides the head to which the edge points.
Referenced by CutPlanar::getCutBoundary(), PlanarVertex::getEdgeID(), CutPlanar::getMaxFlow(), CutPlanar::performChecks(), and PlanarVertex::setEdgesCCW().
|
inline |
provides the tail to which the edge points.
Referenced by CutPlanar::getCutBoundary(), PlanarVertex::getEdgeID(), CutPlanar::getMaxFlow(), CutPlanar::performChecks(), CutPlanar::preFlow(), and PlanarVertex::setEdgesCCW().
|
inline |
provides the right face of the edge.
Referenced by CutPlanar::getMaxFlow(), CutPlanar::performChecks(), and CutPlanar::preFlow().
|
inline |
provides the left face of the edge.
Referenced by CutPlanar::getMaxFlow(), CutPlanar::performChecks(), and CutPlanar::preFlow().
|
friend |