PlanarGC  1.0.2
 All Data Structures Functions Variables Enumerations Enumerator Friends Pages
PlanarEdge Class Reference

#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 ()
PlanarVertexgetHead ()
PlanarVertexgetTail ()
PlanarFacegetHeadDual ()
PlanarFacegetTailDual ()

Friends

class PlanarVertex

Detailed Description

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.

Examples:
cutplanar.cpp.

Constructor & Destructor Documentation

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.

Member Function Documentation

CapType PlanarEdge::getCapacity ( )
inline

provides the capacity for the arc from getTail() to getHead().

Referenced by CutPlanar::getMaxFlow(), CutPlanar::initialize(), and CutPlanar::preFlow().

CapType PlanarEdge::getRevCapacity ( )
inline

provides the capacity for the arc from getHead() to getTail().

Referenced by CutPlanar::getMaxFlow(), CutPlanar::initialize(), and CutPlanar::preFlow().

void PlanarEdge::setCapacity ( CapType  cap)
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().

void PlanarEdge::setRevCapacity ( CapType  rcap)
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.

Examples:
cutplanar.cpp.

Referenced by CutShape::setDissimilarityMatrix().

void PlanarEdge::setFlags ( uchar  value)
inline

assigns a new set of flags to the edge.

Referenced by CutPlanar::initialize().

uchar PlanarEdge::getFlags ( )
inline

provides the flags assigned to the edge.

Referenced by CutPlanar::getMaxFlow(), and CutPlanar::initialize().

PlanarVertex* PlanarEdge::getHead ( )
inline
PlanarVertex* PlanarEdge::getTail ( )
inline
PlanarFace* PlanarEdge::getHeadDual ( )
inline

provides the right face of the edge.

Referenced by CutPlanar::getMaxFlow(), CutPlanar::performChecks(), and CutPlanar::preFlow().

PlanarFace* PlanarEdge::getTailDual ( )
inline

provides the left face of the edge.

Referenced by CutPlanar::getMaxFlow(), CutPlanar::performChecks(), and CutPlanar::preFlow().

Friends And Related Function Documentation

friend class PlanarVertex
friend
© 2009 - 2013 by Eno Töppe, Frank R. Schmidt
generated by Doxygen