#include <surfaceGraph.h>
Inheritance diagram for surfaceGraph:
Public Member Functions | |
surfaceGraph (abstractBalancedFNW &GC) throw () | |
~surfaceGraph () throw () | |
void | Init () throw () |
unsigned long | Size () const throw () |
unsigned long | Allocated () const throw () |
investigator * | NewInvestigator () const throw () |
TNode | StartNode (TArc a) const throw (ERRange) |
TNode | EndNode (TArc a) const throw (ERRange) |
TArc | First (TNode v) const throw (ERRange,ERRejected) |
TArc | Right (TArc a, TNode v) const throw (ERRange,ERRejected) |
TCap | LCap (TArc a) const throw (ERRange) |
bool | CLCap () const throw () |
TCap | UCap (TArc a) const throw (ERRange) |
bool | CUCap () const throw () |
TFloat | Length (TArc a) const throw (ERRange) |
bool | CLength () const throw () |
bool | Blocking (TArc a) const throw () |
TFloat | C (TNode v, TDim i) const throw (ERRange) |
TFloat | CMax (TDim i) const throw (ERRange) |
TDim | Dim () const throw () |
bool | HiddenNode (TNode v) const throw (ERRange) |
bool | HiddenArc (TArc a) const throw (ERRange) |
TFloat | Flow (TArc a) const throw (ERRange) |
TFloat | BalFlow (TArc a) const throw (ERRange,ERRejected) |
void | Push (TArc a, TFloat lambda) throw (ERRange,ERRejected) |
void | BalPush (TArc a, TFloat lambda) throw (ERRange,ERRejected) |
TFloat | Sub (TArc a) const throw (ERRange) |
void | Symmetrize () throw () |
void | Relax () throw () |
TNode | MakeBlossom (TNode b, TArc a) throw (ERRange) |
bool | Top (TNode v) const throw (ERRange) |
TFloat | ModLength (TArc a) const throw (ERRange) |
TFloat | RModLength (TArc a) const throw (ERRange) |
TFloat | RedLength (const TFloat *pi, TArc a) const throw (ERRange) |
void | ShiftPotential (TNode v, TFloat epsilon) throw (ERRange) |
void | ShiftModLength (TArc a, TFloat epsilon) throw (ERRange) |
bool | Compatible () throw () |
void | CheckDual () throw () |
TArc | FindSupport (TFloat *dist, TNode s, TArc a, dynamicStack< TNode > &Support) throw () |
void | Traverse (TArc *pred, TArc aIn, TArc aOut) throw () |
void | Expand (TArc *pred, TArc aIn, TArc aOut) throw () |
TCap | ExpandAndAugment (TArc aIn, TArc aOut) throw () |
TFloat | ComputeEpsilon (TFloat *dist) throw () |
void | PrimalDual0 (TNode s) throw (ERRange) |
void | Explore (TFloat *dist, goblinQueue< TArc, TFloat > &Q, investigator &I, TNode v) throw () |
TFloat | ComputeEpsilon1 (TFloat *dist) throw () |
void | PrimalDual1 (TNode s) throw (ERRange) |
Protected Attributes | |
abstractBalancedFNW & | G |
nestedFamily< TNode > | S |
TNode | n0 |
TNode | nr |
TNode | nv |
TFloat * | piG |
TFloat * | pi |
TFloat * | modlength |
TArc * | bprop |
bool | real |
|
|
|
|
|
Reimplemented from abstractBalancedFNW. |
|
Implements abstractBalancedFNW. |
|
Implements abstractBalancedFNW. |
|
Sort out backward arcs.
Reimplemented from abstractMixedGraph. |
|
Retrieve a node coordinate value.
Reimplemented from abstractMixedGraph. |
|
|
|
Check if the lower capacity bounds are all the same.
Reimplemented from abstractMixedGraph. |
|
Check if the arc length labels are all the same.
Reimplemented from abstractMixedGraph. |
|
Retrieve the maximum coordinate value for a given coordinate index.
Reimplemented from abstractMixedGraph. |
|
Complementary slackness optimality test.
This procedure does not verify that the flow is feasible! Reimplemented from abstractDiGraph. |
|
|
|
|
|
Check if the upper capacity bounds are all the same.
Reimplemented from abstractMixedGraph. |
|
Retrieve the coordinate representational dimension.
Reimplemented from abstractMixedGraph. |
|
Query the end node of a given arc.
Reimplemented from abstractMixedGraph. |
|
|
|
|
|
|
|
|
|
Retrieve an arc with a given start node. The First(v) incidence is somewhat arbitrary, since icidence lists are cyclic. But when an arc is inserted, it is inserted into the incidence lists right after the First() incidence. If the graph is planely represented, and v is an exterior node, the first two incidences are usually exterior arcs, and inserting an arc with two exterior end nodes preserves the planar representation.
Implements abstractMixedGraph. |
|
Return a flow value.
Reimplemented from abstractDiGraph. |
|
Check wether a given arc shall be visualized or not.
Reimplemented from abstractMixedGraph. |
|
Check wether a given graph node shall be visualized or not.
Reimplemented from abstractMixedGraph. |
|
|
|
Retrieve a lower capacity bound.
Reimplemented from abstractMixedGraph. |
|
Retrieve an arc length.
Reimplemented from abstractMixedGraph. |
|
|
|
|
|
Allocate an investigator object for this graph.
Reimplemented from abstractMixedGraph. |
|
|
|
|
|
Increase or decrease the flow value of the arc a by an amount Lambda.
Reimplemented from abstractDiGraph. |
|
Retrieve a reduced arc length.
For undirected edges: RedLength(u,v) = RedLength(v,u) = Length(u,v) + pi[u] + pi[v] For directed arcs: RedLength(u,v) = -RedLength(v,u) = Length(u,v) + pi[u] - pi[v] Reimplemented from abstractMixedGraph. |
|
Implements abstractBalancedFNW. |
|
Query the successor of a given arc in the incidence list of its start node.
Implements abstractMixedGraph. |
|
|
|
|
|
|
|
Implements goblinRootObject. |
|
Query the start node of a given arc.
Implements abstractMixedGraph. |
|
Retrieve the subgraph multiplicity of a given arc.
Implements abstractMixedGraph. |
|
Implements abstractBalancedFNW. |
|
|
|
|
|
Retrieve an upper capacity bound.
Reimplemented from abstractMixedGraph. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|