sparseRepresentation Class Reference

The representational objects from which sparse graph objects are composed. More...

#include <sparseRepresentation.h>

Inheritance diagram for sparseRepresentation:

graphRepresentation managedObject goblinRootObject

Public Member Functions

 sparseRepresentation (const abstractMixedGraph &_G) throw ()
 ~sparseRepresentation () throw ()
void ReadIncidences (goblinImport &F) throw (ERParse)
void SetCapacity (TNode _n, TArc _m, TNode _l=NoNode) throw (ERRejected)
unsigned long Size () const throw ()
unsigned long Allocated () const throw ()
TArc InsertArc (TNode v, TNode w, TCap _u, TFloat _c, TCap _l) throw (ERRange,ERRejected)
TNode InsertNode () throw (ERRejected)
void ExplicitParallels () throw ()
void SwapArcs (TArc a1, TArc a2) throw (ERRange)
void SwapNodes (TNode u, TNode v) throw (ERRange)
void FlipArc (TArc a) throw (ERRange)
void CancelArc (TArc a) throw (ERRange,ERRejected)
void CancelNode (TNode v) throw (ERRange)
bool ReleaseEdgeControlPoints (TArc a) throw (ERRange)
bool ReleaseDoubleEdgeControlPoints () throw ()
bool ReleaseCoveredEdgeControlPoints (TPortMode portMode) throw ()
bool ReleaseNodeControlPoints (TNode v) throw (ERRange)
void DeleteArc (TArc a) throw (ERRange)
void DeleteNode (TNode v) throw (ERRange)
void DeleteArcs () throw ()
void DeleteNodes () throw ()
void ContractArc (TArc a) throw (ERRange,ERRejected)
void IdentifyNodes (TNode u, TNode v) throw (ERRange,ERRejected)
void ReorderNodeIndices (const TFloat *key) throw ()
void ReorderEdgeIndices (const TFloat *key) throw ()
TNode StartNode (TArc a) const throw (ERRange)
TNode EndNode (TArc a) const throw (ERRange)
TArc Right (TArc a) const throw (ERRange)
TArc Left (TArc a) const throw (ERRange)
void ReleaseReverseIncidences () throw ()
TArc First (TNode v) const throw (ERRange)
void SetRight (TArc a1, TArc a2, TArc a3=NoArc) throw (ERRange,ERRejected)
void SetFirst (TNode v, TArc a) throw (ERRange,ERRejected)
void RouteArc (TArc a, TNode u, TNode v) throw (ERRange,ERRejected)
void ReorderIncidences (const TArc *predArc, bool nodeOriented=false) throw ()
TNode InsertThreadSuccessor (TNode x) throw (ERRejected,ERRange)
TNode ArcLabelAnchor (TArc a) const throw (ERRange)
bool NoArcLabelAnchors () const throw ()
TNode ThreadSuccessor (TNode x) const throw (ERRange)
bool NoThreadSuccessors () const throw ()
TNode InsertArcControlPoint (TArc a, TNode x) throw (ERRange,ERRejected)
TNode GetArcControlPoints (TArc a, TNode *layoutNode, TNode length, TPortMode portMode) const throw (ERRange)
TNode ProvideArcLabelAnchor (TArc a) throw (ERRejected,ERRange)
TNode ProvidePortNode (TArc a) throw (ERRejected,ERRange)
void ProvideEdgeControlPoints (TArc a, TNode *layoutNode, TNode length, TPortMode portMode) throw (ERRange)
void Layout_ArcRouting (TFloat spacing=0, bool drawLoops=true) throw ()
void Layout_SubdivideArcs (TFloat spacing=0.0) throw ()
void Layout_AdoptArcRouting (abstractMixedGraph &G) throw ()
void Layout_OrthoCleanupArcLabels () throw ()
void Layout_SetBoundingInterval (TDim i, TFloat cMin, TFloat cMax) throw ()
void Layout_AdoptBoundingBox (abstractMixedGraph &G) throw ()
void NewSubgraph () throw (ERRejected)
void ReleaseSubgraph () throw ()
TFloat Sub (TArc a) const throw (ERRange)
void SetSub (TArc a, TFloat multiplicity) throw (ERRange,ERRejected)
void SetSubRelative (TArc a, TFloat lambda) throw (ERRange,ERRejected)

Protected Attributes

TNodeSN
TArcright
TArcleft
TArcfirst
TFloatsub

Detailed Description

The representational objects from which sparse graph objects are composed.

The objects support incidence lists, the dynamic insertion and deletion of arcs and control points for the arcs


Constructor & Destructor Documentation

sparseRepresentation const abstractMixedGraph _G  )  throw ()
 

~sparseRepresentation  )  throw ()
 


Member Function Documentation

unsigned long Allocated  )  const throw ()
 

Reimplemented from graphRepresentation.

void ReadIncidences goblinImport F  )  throw (ERParse)
 

Read the incidence lists from a file.

Parameters:
F An import object representing a file
This allocates and reads the start node indices and incidence lists. The operation may happen only in an initial state with mMax = nMax = 0

void SetCapacity TNode  _n,
TArc  _m,
TNode  _l = NoNode
throw (ERRejected)
 

Set the attribute capacities to the expected object dimensions.

Parameters:
_n The expected number of graph nodes
_m The expected number of arcs
_l The expected number of layout points
This avoids repeated reallocation of the attributes

unsigned long Size  )  const throw () [virtual]
 

Implements goblinRootObject.


Field Documentation

TArc* first [protected]
 

Entry points for the circular incidence lists.

TArc* left [mutable, protected]
 

Left-hand incidences.

TArc* right [protected]
 

Right-hand incidences.

TNode* SN [protected]
 

Start node indices.

TFloat* sub [protected]
 

Subgraph multiplicities.