#include <abstractMixedGraph.h>
Inheritance diagram for abstractMixedGraph:
Public Types | |
enum | TMergeLayoutMode { MERGE_ALIGN_RIGHT = 0, MERGE_ALIGN_BELOW = 1, MERGE_OVERLAY = 2 } |
enum | TMetricType { METRIC_DISABLED = 0, METRIC_MANHATTAN = 1, METRIC_EUCLIDIAN = 2, METRIC_MAXIMUM = 3, METRIC_SPHERIC = 4 } |
enum | TMethAdjacency { ADJ_SEARCH = 0, ADJ_MATRIX = 1 } |
enum | TMethOrthogonal { ORTHO_DEFAULT = -1, ORTHO_EXPLICIT = 0, ORTHO_EULER = 1, ORTHO_DEG4 = 2, ORTHO_4PLANAR = 3, ORTHO_VISIBILITY_RAW = 4, ORTHO_VISIBILITY_TRIM = 5, ORTHO_VISIBILITY_GIOTTO = 6 } |
enum | TOptFDP { FDP_DEFAULT = -1, FDP_GEM = 0, FDP_SPRING = 1, FDP_RESTRICTED = 2, FDP_LAYERED = 4, FDP_LAYERED_RESTR = 6 } |
enum | TOptAlign { ALIGN_OPTIMIZE = 0, ALIGN_LEFT = 1, ALIGN_CENTER = 2, ALIGN_FDP = 3, ALIGN_RIGHT = 4 } |
enum | TOptLayered { LAYERED_DEFAULT = -1, LAYERED_FEEDBACK = 1, LAYERED_EDGE_SPAN = 2, LAYERED_VERTICAL = 3, LAYERED_COLOURS = 4, LAYERED_FDP = 8, LAYERED_ALIGN = 16, LAYERED_SWEEP = 32, LAYERED_HORIZONTAL = 48 } |
enum | TOptExtractEmbedding { PLANEXT_DEFAULT = 0, PLANEXT_GROW = 1, PLANEXT_DUAL = 2, PLANEXT_CONNECT = 3 } |
enum | TMethSPX { SPX_DEFAULT = -1, SPX_FIFO = 0, SPX_DIJKSTRA = 1, SPX_BELLMAN = 2, SPX_BFS = 3, SPX_DAG = 4, SPX_TJOIN = 5 } |
enum | TOptSPX { SPX_ORIGINAL = 0, SPX_REDUCED = 1 } |
enum | TOptDAGSearch { DAG_TOPSORT = 0, DAG_CRITICAL = 1, DAG_SPTREE = 2 } |
enum | { CONN_CUT_NODE = 0, CONN_LEFT_HAND = 1, CONN_RIGHT_HAND = 2 } |
enum | TRetDFS { DFS_DISCONNECTED = 0, DFS_BICONNECTED = 1, DFS_MULTIPLE_BLOCKS = 2, DFS_ALMOST_BICONNECTED = 3 } |
enum | TOptNodeSplitting { MCC_UNIT_CAPACITIES = 0, MCC_MAP_DEMANDS = 1, MCC_MAP_UNDERLYING = 2 } |
enum | TMethMCC { MCC_DEFAULT = -1, MCC_MAXFLOW = 0, MCC_PREFLOW_FIFO = 1, MCC_PREFLOW_HIGH = 2, MCC_IDENTIFICATION = 3 } |
enum | TOptSeriesParallel { ESP_UNDIRECTED = 0, ESP_DIRECTED = 1, ESP_EMBEDDING = 2, ESP_ORIENT = 4, ESP_VISIBILITY = 8, ESP_MINOR = 16 } |
enum | TMethPlanarity { PLANAR_DEFAULT = -1, PLANAR_HO_TA = 0, PLANAR_DMP = 1 } |
enum | TOptPlanarity { PLANAR_NO_OPT = 0, PLANAR_MINOR = 1 } |
enum | TOptComplement { PERFECT_AS_IS = 0, PERFECT_COMPLEMENT = 1 } |
enum | TMethMST { MST_DEFAULT = -1, MST_PRIM = 0, MST_PRIM2 = 1, MST_KRUSKAL = 2, MST_EDMONDS = 3 } |
enum | TOptMST { MST_PLAIN = 0, MST_ONE_CYCLE = 1, MST_UNDIRECTED = 2, MST_DIRECTED = 4, MST_REDUCED = 8, MST_ONE_CYCLE_REDUCED = 9, MST_MAX = 16 } |
enum | TMethMXF { MXF_DEFAULT = -1, MXF_SAP = 0, MXF_DINIC = 1, MXF_PREFLOW_FIFO = 2, MXF_PREFLOW_HIGH = 3, MXF_PREFLOW_SCALE = 4, MXF_SAP_SCALE = 5 } |
enum | TMethMCFST { MCF_ST_DEFAULT = -1, MCF_ST_DIJKSTRA = 0, MCF_ST_SAP = 1, MCF_ST_BFLOW = 2 } |
enum | TMethMCF { MCF_BF_DEFAULT = -1, MCF_BF_CYCLE = 0, MCF_BF_COST = 1, MCF_BF_TIGHT = 2, MCF_BF_MEAN = 3, MCF_BF_SAP = 4, MCF_BF_SIMPLEX = 5, MCF_BF_LINEAR = 6, MCF_BF_CAPA = 7, MCF_BF_PHASE1 = 8 } |
enum | THeurTSP { TSP_HEUR_DEFAULT = -1, TSP_HEUR_RANDOM = 0, TSP_HEUR_FARTHEST = 1, TSP_HEUR_TREE = 2, TSP_HEUR_CHRISTOFIDES = 3, TSP_HEUR_NEAREST = 4 } |
enum | TRelaxTSP { TSP_RELAX_DEFAULT = -1, TSP_RELAX_NULL = -2, TSP_RELAX_1TREE = 0, TSP_RELAX_FAST = 1, TSP_RELAX_SUBOPT = 2 } |
enum | TMethMaxCut { MAX_CUT_DEFAULT = -1, MAX_CUT_GRASP = 0, MAX_CUT_TREE = 1, MAX_CUT_TJOIN = 2 } |
Public Member Functions | |
abstractMixedGraph (TNode=0, TArc=0) throw () | |
virtual | ~abstractMixedGraph () throw () |
void | CheckLimits () throw (ERRejected) |
unsigned long | Allocated () const throw () |
bool | IsGraphObject () const throw () |
virtual bool | IsBipartite () const throw () |
virtual bool | IsDirected () const throw () |
virtual bool | IsUndirected () const throw () |
virtual bool | IsSparse () const throw () |
virtual bool | IsDense () const throw () |
bool | IsRepresented () const throw () |
virtual bool | IsBalanced () const throw () |
bool | IsEmbedded () const throw () |
TArc | InsertArc (TNode u, TNode v) throw (ERRange,ERRejected) |
TArc | InsertArc (TNode u, TNode v, TCap cc, TFloat ll, TCap bb=0) throw (ERRange,ERRejected) |
TNode | InsertNode () throw (ERRange,ERRejected) |
void | DeleteNode (TNode v) throw (ERRange,ERRejected) |
virtual void | RandomArcs (TArc _m) throw (ERRejected) |
void | RandEulerian (TArc _m) throw (ERRejected) |
virtual void | RandRegular (TArc k) throw (ERRejected) |
void | AddGraphByNodes (abstractMixedGraph &G, TMergeLayoutMode mergeLayoutMode=MERGE_OVERLAY) throw (ERRejected) |
void | FacetIdentification (abstractMixedGraph &G) throw (ERRejected) |
TNode | N () const throw () |
TNode | L () const throw () |
TNode | NI () const throw () |
TArc | M () const throw () |
TNode | ND () const throw () |
virtual size_t | SizeInfo (TArrayDim arrayDim, TSizeInfo size) const throw () |
virtual graphRepresentation * | Representation () throw () |
virtual const graphRepresentation * | Representation () const throw () |
virtual attributePool * | RepresentationalData () const throw () |
virtual attributePool * | Geometry () const throw () |
virtual attributePool * | LayoutData () const throw () |
void | ImportLayoutData (const abstractMixedGraph &G) throw () |
bool | GetLayoutParameter (const char *tokenStr, char *valueStr) const throw () |
template<typename T> | |
bool | GetLayoutParameter (TOptLayoutTokens token, T &value, TLayoutModel model=LAYOUT_DEFAULT) const throw () |
bool | SetLayoutParameter (const char *tokenStr, const char *valueStr) throw () |
template<typename T> | |
bool | SetLayoutParameter (TOptLayoutTokens token, const T value) throw () |
template<typename T> | |
bool | SetLayoutParameter (TOptLayoutTokens token, const T value, TLayoutModel model) throw () |
void | SyncSpacingParameters (TOptLayoutTokens token, TFloat &spacing) throw () |
attributePool * | Registers () const throw () |
virtual TNode | DefaultSourceNode () const throw () |
virtual TNode | DefaultTargetNode () const throw () |
TNode | DefaultRootNode () const throw () |
void | SetSourceNode (TNode v) throw (ERRange) |
void | SetTargetNode (TNode v) throw (ERRange) |
void | SetRootNode (TNode v) throw (ERRange) |
virtual TNode | StartNode (TArc a) const =0 throw (ERRange) |
virtual TNode | EndNode (TArc a) const throw (ERRange) |
virtual TArc | Right (TArc a, TNode v) const =0 throw (ERRange,ERRejected) |
virtual TArc | Left (TArc a) const throw (ERRange,ERRejected) |
virtual TArc | First (TNode v) const =0 throw (ERRange,ERRejected) |
virtual TCap | Demand (TNode v) const throw (ERRange) |
TCap | MaxDemand () const throw () |
virtual bool | CDemand () const throw () |
virtual TCap | UCap (TArc a) const throw (ERRange) |
TCap | MaxUCap () const throw () |
virtual bool | CUCap () const throw () |
virtual TCap | LCap (TArc a) const throw (ERRange) |
virtual TCap | MaxLCap () const throw () |
virtual bool | CLCap () const throw () |
virtual TFloat | Length (TArc a) const throw (ERRange) |
TFloat | MaxLength () const throw () |
virtual bool | CLength () const throw () |
virtual char | Orientation (TArc a) const throw (ERRange) |
char | Orientation () const throw () |
virtual bool | COrientation () const throw () |
TArc | Reverse (TArc a) const throw (ERRange) |
virtual bool | Blocking (TArc a) const throw (ERRange) |
virtual TFloat | C (TNode v, TDim i) const throw (ERRange) |
void | SetC (TNode v, TDim i, TFloat pos) throw (ERRange,ERRejected) |
TFloat | CMin (TDim i) const throw (ERRange) |
TFloat | CMax (TDim i) const throw (ERRange) |
virtual TDim | Dim () const throw () |
TMetricType | MetricType () const throw () |
virtual TFloat | RedLength (const TFloat *pi, TArc a) const throw (ERRange) |
TNode | NodeAnchorPoint (TNode v) const throw (ERRange) |
TNode | ArcLabelAnchor (TArc a) const throw (ERRange) |
bool | NoArcLabelAnchors () const throw () |
TNode | PortNode (TArc a) const throw (ERRange) |
TNode | ThreadSuccessor (TNode v) const throw (ERRange) |
bool | NoThreadSuccessors () const throw () |
TLayoutModel | LayoutModel () const throw () |
void | SetLayoutModel (TLayoutModel model) throw () |
virtual bool | HiddenNode (TNode v) const throw (ERRange) |
virtual bool | HiddenArc (TArc a) const throw (ERRange) |
void | SetNodeVisibility (TNode v, bool visible) throw (ERRange) |
void | SetArcVisibility (TArc a, bool visible) throw (ERRange) |
virtual TArc | Adjacency (TNode u, TNode v, TMethAdjacency method=ADJ_MATRIX) const throw (ERRange) |
void | MarkAdjacency (TNode u, TNode v, TArc a) throw (ERRange,ERRejected) |
void | ReleaseAdjacencies () throw () |
virtual TIndex | OriginalOfNode (TNode v) const throw (ERRange) |
virtual TIndex | OriginalOfArc (TArc a) const throw (ERRange) |
void | ReleaseNodeMapping () throw () |
void | ReleaseArcMapping () throw () |
void | Layout_AlignWithOrigin () throw (ERRejected) |
void | Layout_TransformCoordinate (TDim i, TFloat cMin, TFloat cMax) throw (ERRejected) |
void | Layout_GetBoundingInterval (TDim i, TFloat &cMin, TFloat &cMax) const throw () |
void | Layout_FreezeBoundingBox () throw () |
void | Layout_DefaultBoundingBox () throw () |
void | Layout_ReleaseBoundingBox () throw () |
void | Layout_ConvertModel (TLayoutModel model) throw () |
void | Layout_Circular (TFloat spacing=0.0) throw (ERRejected) |
void | Layout_CircularByPredecessors (TFloat spacing=0.0) throw (ERRejected) |
void | Layout_CircularByColours (TFloat spacing=0.0) throw (ERRejected) |
bool | Layout_Outerplanar (TFloat spacing=0.0) throw (ERRejected) |
void | Layout_Equilateral (TFloat spacing=0.0) throw (ERRejected) |
void | Layout_Kandinsky (TMethOrthogonal method=ORTHO_DEFAULT, TFloat spacing=0.0) throw (ERRejected) |
void | Layout_OrthogonalDeg4 (TMethOrthogonal method=ORTHO_4PLANAR, TFloat spacing=0.0) throw (ERRejected) |
bool | Layout_OrthoSmallNodeCompaction () throw (ERRejected) |
bool | Layout_OrthoSmallLineSweep () throw (ERRejected) |
void | Layout_VisibilityRepresentation (TMethOrthogonal method=ORTHO_VISIBILITY_TRIM, TFloat spacing=0.0) throw (ERRejected) |
void | Layout_KandinskyTree (TNode root=NoNode, TFloat spacing=0.0) throw (ERRejected) |
bool | Layout_HorizontalVerticalTree (TNode root=NoNode, TFloat spacing=0.0) throw (ERRejected) |
void | Layout_ForceDirected (TOptFDP method=FDP_DEFAULT, TFloat spacing=0.0) throw (ERRejected) |
void | Layout_PredecessorTree (TOptAlign mode=ALIGN_OPTIMIZE, TFloat dx=0.0, TFloat dy=0.0) throw (ERRejected) |
void | Layout_Layered (int method=LAYERED_DEFAULT, TFloat dx=0.0, TFloat dy=0.0) throw (ERRejected) |
virtual investigator * | NewInvestigator () const throw () |
THandle | Investigate () const throw (ERRejected) |
investigator & | Investigator (THandle H) const throw (ERRejected) |
void | Reset (THandle H) const throw (ERRejected) |
void | Reset (THandle H, TNode v) const throw (ERRange,ERRejected) |
TArc | Read (THandle H, TNode v) const throw (ERRange,ERRejected) |
TArc | Peek (THandle H, TNode v) const throw (ERRange,ERRejected) |
bool | Active (THandle H, TNode v) const throw (ERRange,ERRejected) |
void | Close (THandle H) const throw (ERRejected) |
void | ReleaseInvestigators () const throw () |
void | StripInvestigators () const throw () |
void | InitSubgraph () throw () |
virtual void | SetSub (TArc a, TFloat lambda) throw (ERRange,ERRejected) |
virtual void | SetSubRelative (TArc a, TFloat lambda) throw (ERRange) |
virtual void | Push (TArc a, TFloat lambda) throw (ERRange,ERRejected) |
virtual TFloat | Sub (TArc a) const =0 throw (ERRange) |
TFloat | ResCap (TArc a) const throw (ERRange) |
TCap | Cardinality () const throw () |
TFloat | Length () const throw () |
TFloat | Weight () const throw () |
void | AddToSubgraph (TNode v=NoNode) throw (ERRange,ERRejected) |
virtual void | InitPartition () throw () |
virtual void | Bud (TNode v) throw (ERRange) |
virtual void | Merge (TNode u, TNode v) throw (ERRange) |
virtual TNode | Find (TNode v) throw (ERRange) |
virtual void | ReleasePartition () throw () |
TFloat * | InitDistanceLabels (TFloat def=InfFloat) throw () |
TFloat * | GetDistanceLabels () const throw () |
TFloat * | RawDistanceLabels () throw () |
virtual TFloat | Dist (TNode v) const throw (ERRange) |
void | SetDist (TNode v, TFloat thisDist) throw (ERRange) |
void | ReleaseLabels () throw () |
TFloat * | InitPotentials (TFloat def=0) throw () |
TFloat * | GetPotentials () const throw () |
TFloat * | RawPotentials () throw () |
TFloat | Pi (TNode v) const throw (ERRange) |
void | SetPotential (TNode v, TFloat thisPi) throw (ERRange) |
void | PushPotential (TNode v, TFloat epsilon) throw (ERRange) |
void | UpdatePotentials (TFloat cutValue) throw (ERRejected) |
void | ReleasePotentials () throw () |
TNode * | InitNodeColours (TNode def=NoNode) throw () |
TNode * | GetNodeColours () const throw () |
TNode * | RawNodeColours () throw () |
TNode * | RandomNodeOrder () throw () |
virtual TNode | NodeColour (TNode v) const throw (ERRange) |
void | SetNodeColour (TNode v, TNode thisColour) throw (ERRange) |
void | ReleaseNodeColours () throw () |
void | ExtractCut () throw (ERRejected) |
void | ExtractBipartition () throw (ERRejected) |
void | ExtractColours () throw (ERRejected) |
TArc * | InitEdgeColours (TArc def=NoArc) throw () |
TArc * | GetEdgeColours () const throw () |
TArc * | RawEdgeColours () throw () |
TArc | EdgeColour (TArc a) const throw (ERRange) |
void | SetEdgeColour (TArc a, TArc thisColour) throw (ERRange) |
void | ReleaseEdgeColours () throw () |
TNode | ExtractEmbedding (TOptExtractEmbedding option=PLANEXT_DEFAULT, void *pArg=NULL) throw (ERRejected) |
void | MarkExteriorFace (TArc a) throw (ERRange,ERRejected) |
TNode | Face (TArc a) throw (ERRange) |
TArc | ExteriorArc () const throw () |
bool | ExteriorNode (TNode v, TNode thisFace=NoNode) const throw (ERRange) |
void | ReleaseEmbedding () throw () |
TArc * | InitPredecessors () throw () |
TArc * | GetPredecessors () const throw () |
TArc * | RawPredecessors () throw () |
TArc | Pred (TNode v) const throw (ERRange) |
void | SetPred (TNode v, TArc thisPred) throw (ERRange,ERRejected) |
void | ReleasePredecessors () throw () |
TNode | ExtractTrees () throw () |
TNode | ExtractPath (TNode u, TNode v) throw () |
TNode | ExtractCycles () throw () |
TNode | Extract1Matching () throw () |
TNode | ExtractEdgeCover () throw () |
void | InitDegrees () throw () |
void | InitDegInOut () throw () |
TFloat | Deg (TNode v) throw (ERRange) |
TFloat | DegIn (TNode v) throw (ERRange) |
TFloat | DegOut (TNode v) throw (ERRange) |
TFloat | Divergence (TNode v) throw (ERRange) |
void | ReleaseDegrees () throw () |
virtual void | Write (const char *fileName) const throw (ERFile) |
void | WriteSpecial (goblinExport &F, const attributePool &pool, TPoolEnum token) const throw () |
virtual void | WriteIncidences (goblinExport *F) const throw () |
void | WriteUCap (goblinExport *F) const throw () |
void | WriteLCap (goblinExport *F) const throw () |
void | WriteLength (goblinExport *F) const throw () |
void | WriteDemand (goblinExport *F) const throw () |
void | WriteOrientation (goblinExport *F) const throw () |
void | WriteGeometry (goblinExport *F) const throw () |
void | WriteLayout (goblinExport *F) const throw () |
void | WriteRegisters (goblinExport *F) const throw () |
void | WriteRegister (goblinExport &F, TPoolEnum token) const throw (ERRange) |
void | WriteSubgraph (goblinExport &F) const throw () |
void | ReadSpecial (goblinImport &F, attributePool &pool, TPoolEnum token) throw (ERParse) |
bool | ShortestPath (TNode source, TNode target=NoNode) throw (ERRange,ERRejected) |
bool | ShortestPath (TMethSPX method, TOptSPX characteristic, const indexSet< TArc > &EligibleArcs, TNode source, TNode target=NoNode) throw (ERRange,ERRejected) |
TNode | VoronoiRegions (const indexSet< TNode > &Terminals) throw (ERRejected) |
TNode | NegativeCycle (TOptSPX characteristic, const indexSet< TArc > &EligibleArcs, TNode source=NoNode, TFloat epsilon=0) throw (ERRange) |
TNode | BFS (const indexSet< TArc > &EligibleArcs, const indexSet< TNode > &S, const indexSet< TNode > &T) throw () |
TNode | DAGSearch (TOptDAGSearch opt, const indexSet< TArc > &EligibleArcs, TNode s=NoNode, TNode t=NoNode) throw (ERRange) |
bool | Connected () throw () |
virtual bool | Connected (TCap k) throw () |
TRetDFS | CutNodes (TArc rootArc=NoArc, TNode *order=NULL, TArc *lowArc=NULL) throw () |
bool | Biconnected () throw () |
bool | STNumbering (TArc rootArc=NoArc, TNode source=NoNode, TNode target=NoNode) throw (ERRejected) |
virtual bool | EdgeConnected (TCap k) throw () |
bool | StronglyConnected () throw () |
virtual bool | StronglyConnected (TCap k) throw () |
virtual bool | StronglyEdgeConnected (TCap k) throw () |
TCap | NodeConnectivity (TNode source=NoNode, TNode target=NoNode, TOptNodeSplitting mode=MCC_MAP_DEMANDS) throw () |
TCap | EdgeConnectivity (TNode source=NoNode, TNode target=NoNode) throw (ERRange) |
TCap | EdgeConnectivity (TMethMCC method, TNode source=NoNode, TNode target=NoNode) throw (ERRange) |
TCap | StrongNodeConnectivity (TNode source=NoNode, TNode target=NoNode, TOptNodeSplitting mode=MCC_MAP_DEMANDS) throw () |
TCap | StrongEdgeConnectivity (TNode source=NoNode, TNode target=NoNode) throw (ERRange) |
TCap | StrongEdgeConnectivity (abstractMixedGraph::TMethMCC method, TNode source=NoNode, TNode target=NoNode) throw (ERRange) |
bool | EdgeSeriesParallelMethod (TOptSeriesParallel options=ESP_EMBEDDING, TNode s=NoNode, TNode t=NoNode, abstractMixedGraph *_T=NULL) throw (ERRejected) |
abstractMixedGraph * | ESP_DecompositionTree (TOptSeriesParallel options=ESP_DIRECTED, TNode s=NoNode, TNode t=NoNode) throw () |
bool | IsPlanar (TMethPlanarity method=PLANAR_DEFAULT, TOptPlanarity options=PLANAR_MINOR) throw (ERRejected) |
void | GrowExteriorFace () throw (ERRejected) |
void | PlanarConnectivityAugmentation () throw (ERRejected) |
void | PlanarBiconnectivityAugmentation () throw (ERRejected) |
void | Triangulation () throw (ERRejected) |
void | RandomizeIncidenceOrder () throw (ERRejected) |
void | IncidenceOrderFromDrawing () throw (ERRejected) |
bool | PlanarizeIncidenceOrder (TMethPlanarity method=PLANAR_DEFAULT) throw (ERRejected) |
TNode | LMCOrderedPartition (TArc *cLeft, TArc *cRight, TNode *vRight) throw (ERRejected) |
void | Layout_ConvexDrawing (TArc aBasis=NoArc, TFloat spacing=0.0) throw (ERRejected) |
void | Layout_StraightLineDrawing (TArc aBasis=NoArc, TFloat spacing=0.0) throw (ERRejected) |
void | Layout_StaircaseDrawing (TArc aBasis=NoArc, TFloat spacing=0.0) throw (ERRejected) |
void | Layout_StaircaseTriconnected (TArc aBasis=NoArc, TFloat spacing=0.0) throw (ERRejected) |
TNode | PerfectEliminationOrder (TOptComplement complementarityMode=PERFECT_AS_IS) throw () |
bool | IsChordal (TOptComplement complementarityMode=PERFECT_AS_IS) throw () |
TFloat | MinTree (TNode root=NoNode) throw (ERRange,ERRejected) |
TFloat | MinTree (TMethMST method, TOptMST characteristic, TNode root=NoNode) throw (ERRange,ERRejected) |
bool | ExtractTree (TNode root, TOptMST characteristic=MST_PLAIN) throw (ERRejected) |
bool | ExtractTree (TArc *const pred, TNode root, TOptMST characteristic=MST_PLAIN) throw (ERRejected) |
TFloat | SteinerTree (const indexSet< TNode > &Terminals, TNode root=NoNode) throw (ERRange,ERRejected) |
TFloat | MaxFlow (TNode source, TNode target) throw (ERRange,ERRejected) |
TFloat | MaxFlow (TMethMXF method, TNode source, TNode target) throw (ERRange,ERRejected) |
bool | AdmissibleBFlow () throw () |
TFloat | MinCostSTFlow (TNode source, TNode target) throw (ERRange,ERRejected) |
TFloat | MinCostSTFlow (TMethMCFST method, TNode source, TNode target) throw (ERRange,ERRejected) |
TFloat | MinCostBFlow (TMethMCF method=MCF_BF_DEFAULT) throw (ERRejected) |
virtual TNode | StableSet () throw () |
TNode | Clique () throw () |
TNode | VertexCover () throw () |
virtual TNode | NodeColouring (TNode k=NoNode) throw () |
bool | NCKempeExchange (TNode *nodeColour, TNode r, TNode x) throw (ERRange,ERRejected) |
TNode | CliqueCover (TNode k=NoNode) throw () |
TArc | EdgeColouring (TArc k=NoNode) throw (ERRange) |
TCap | FeedbackArcSet () throw () |
void | ImplicitOrientationFromDrawing () throw () |
bool | ImplicitSTOrientation (TNode s=NoNode, TNode t=NoNode) throw (ERRejected) |
virtual void | ChinesePostman (bool adjustUCap) throw (ERRejected) |
bool | EulerianCycle (TArc *pred=NULL) throw (ERRejected) |
TFloat | TSP (TNode root=NoNode) throw (ERRange,ERRejected) |
TFloat | TSP (THeurTSP methHeur, TRelaxTSP methRelax1, TRelaxTSP methRelax2, TNode root=NoNode) throw (ERRange,ERRejected) |
TFloat | MaxCut (TNode s=NoNode, TNode t=NoNode) throw (ERRange) |
TFloat | MaxCut (TMethMaxCut method, TNode s=NoNode, TNode t=NoNode) throw (ERRange) |
TFloat | MXC_LocalSearch (TNode *nodeColour, TNode s=NoNode, TNode t=NoNode) throw (ERRange,ERRejected) |
managedObject * | BFlowToLP () throw () |
managedObject * | VerticalCoordinatesModel (TNode *nodeLayer) throw () |
managedObject * | HorizontalCoordinatesModel () throw () |
managedObject * | StableSetToMIP () throw () |
virtual char * | Display () const throw (ERRejected,ERFile) |
void | TextDisplay (TNode i=NoNode, TNode j=NoNode) const throw () |
void | DisplayPath (TNode u, TNode v) throw (ERRange,ERRejected) |
TFloat | CutCapacity (TNode separator=NoNode) throw (ERCheck) |
void | ExportToXFig (const char *fileName) const throw (ERFile) |
void | ExportToTk (const char *fileName) const throw (ERFile) |
void | ExportToDot (const char *fileName) const throw (ERFile) |
void | ExportToAscii (const char *fileName, TOption format=0) const throw (ERFile) |
template<> | |
bool | GetLayoutParameter (TOptLayoutTokens token, int &value, TLayoutModel model) const throw () |
template<> | |
bool | GetLayoutParameter (TOptLayoutTokens token, double &value, TLayoutModel model) const throw () |
template<> | |
bool | GetLayoutParameter (TOptLayoutTokens token, char *&value, TLayoutModel model) const throw () |
template<> | |
bool | SetLayoutParameter (TOptLayoutTokens token, const double value, TLayoutModel model) throw () |
template<> | |
bool | SetLayoutParameter (TOptLayoutTokens token, const char *value, TLayoutModel model) throw () |
Protected Member Functions | |
goblinQueue< TNode, TFloat > * | NewNodeHeap () throw (ERRejected) |
goblinQueue< TArc, TFloat > * | NewArcHeap () throw (ERRejected) |
void | SetExteriorArc (TArc a) throw (ERRange,ERRejected) |
void | AdjustDegrees (TArc a, TFloat lambda) throw (ERRange) |
void | ReadAllData (goblinImport &F) throw (ERParse) |
virtual void | ReadNNodes (goblinImport &F) throw (ERParse) |
void | ReadNArcs (goblinImport &F) throw (ERParse) |
void | ReadRepresentation (goblinImport &F) throw (ERParse) |
void | ReadGeometry (goblinImport &F) throw (ERParse) |
void | ReadRegisters (goblinImport &F) throw (ERParse) |
void | ReadSubgraph (goblinImport &F) throw (ERParse) |
void | ReadLayoutData (goblinImport &F) throw (ERParse) |
TNode | SPX_Dijkstra (TOptSPX characteristic, const indexSet< TArc > &EligibleArcs, const indexSet< TNode > &S, const indexSet< TNode > &T) throw (ERRange,ERRejected) |
bool | SPX_FIFOLabelCorrecting (TOptSPX characteristic, const indexSet< TArc > &EligibleArcs, TNode s, TNode t=NoNode) throw (ERRange,ERCheck) |
bool | SPX_BellmanFord (TOptSPX characteristic, const indexSet< TArc > &EligibleArcs, TNode s, TNode t=NoNode) throw (ERRange,ERCheck) |
TFloat | MST_Prim (TMethMST method, TOptMST characteristic, TNode root=NoNode) throw (ERRange,ERRejected) |
TFloat | MST_Edmonds (TOptMST characteristic, TNode root=NoNode) throw (ERRange,ERRejected) |
TFloat | MST_Kruskal (TOptMST characteristic, TNode root=NoNode) throw (ERRange,ERRejected) |
TFloat | STT_TrimLeaves (const indexSet< TNode > &Terminals, TArc *pred) throw () |
virtual TFloat | STT_Heuristic (const indexSet< TNode > &Terminals, TNode root) throw (ERRange) |
virtual TFloat | STT_Enumerate (const indexSet< TNode > &Terminals, TNode root) throw (ERRange) |
virtual TFloat | TSP_Heuristic (abstractMixedGraph::THeurTSP method, TNode root) throw (ERRange,ERRejected) |
TFloat | TSP_HeuristicRandom () throw (ERRejected) |
TFloat | TSP_HeuristicInsert (THeurTSP method, TNode r=NoNode) throw (ERRange,ERRejected) |
TFloat | TSP_HeuristicTree (TNode r=NoNode) throw (ERRange,ERRejected) |
TFloat | TSP_LocalSearch (TArc *pred) throw (ERRejected) |
bool | TSP_NodeExchange (TArc *pred, TFloat limit=0) throw (ERRejected) |
virtual TFloat | TSP_SubOpt1Tree (abstractMixedGraph::TRelaxTSP method, TNode root, TFloat &bestUpper, bool branchAndBound) throw (ERRange) |
virtual TFloat | TSP_BranchAndBound (abstractMixedGraph::TRelaxTSP method, int nCandidates, TNode root, TFloat upperBound) throw (ERRejected) |
virtual TFloat | MXC_Heuristic (abstractMixedGraph::TMethMaxCut method, TNode s=NoNode, TNode t=NoNode) throw (ERRange,ERRejected) |
TFloat | MXC_HeuristicGRASP (TNode s=NoNode, TNode t=NoNode) throw (ERRange) |
TFloat | MXC_BranchAndBound (TNode s=NoNode, TNode t=NoNode, TFloat lowerBound=InfFloat) throw (ERRange) |
Protected Attributes | |
disjointFamily< TNode > * | partition |
goblinQueue< TNode, TFloat > * | nHeap |
TFloat * | sDeg |
TFloat * | sDegIn |
TFloat * | sDegOut |
TNode | n |
TNode | ni |
TArc | m |
TNode * | face |
TNode | defaultSourceNode |
TNode | defaultTargetNode |
TNode | defaultRootNode |
attributePool | registers |
This class declares the interfaces to any graph representation, layout data and registers (which save computational results). Based on these interfaces, the abstractMixedGraph class implements nearly all optimization and layout algorithms.
The graph nodes are indexed 0,1,..,N()-1, the arcs are indexed 0,1,..,2*M()-1 or 0,1,..,M()-1 depending on whether arc orientations are important or not. In the former case (which is the regular one), the indices 2*i and 2*i+1 refer to the two directions of the same edge.
|
|
|
|
|
Reimplemented from managedObject. Reimplemented in abstractBalancedFNW, abstractBiGraph, abstractDiGraph, abstractGraph, layeredAuxNetwork, balancedFNW, balancedToBalanced, bigraphToDigraph, denseBiGraph, denseDiGraph, denseGraph, digraphToDigraph, graphToBalanced, mixedGraph, layeredShrNetwork, sparseBiGraph, sparseDiGraph, sparseGraph, and surfaceGraph. |
|
Reimplemented in abstractBiGraph. |
|
Unconditional display of graph objects. This always generates some output, depending on the value of displayMode. Either TextDisplay() is called, or a trace file is written. Reimplemented from managedObject. |
|
|
|
|
|
|
|
Create a priority queue to store arc indices in the range [0,1,..,m-1].
|
|
Create a priority queue to store graph node indices in the range [0,1,..,n-1].
|
|
|
|
|
|
Default root node.
|
|
Default source node.
|
|
Default target node.
|
|
Array of dual incidences (faces left hand of an arc).
|
|
Number of arcs (counting arc directions only oncce).
|
|
Number of nodes.
|
|
Cached priority queue for the graph nodes.
|
|
Number of Interpolation Points.
|
|
Partition of the node set (connected components, colourings).
|
|
An attribute pool representing all potential solutions.
|
|
Explicit degree labels, counting all undirected edges.
|
|
Explicit degree labels, counting all backward arcs.
|
|
Explicit degree labels, counting all forward arcs.
|