Open
Graph Drawing
Framework

 v.2007.11
 

ogdf Namespace Reference

The namespace for all OGDF objects. More...


Classes

class  DfsMakeBiconnected
 Implementation of a DFS-based algorithm for biconnectivity augmentation. More...
class  labelStruct
 auxiliary class for the planar augmentation algorithm More...
class  PlanarAugmentation
 The algorithm for planar biconnectivity augmentation (Mutzel, Fialko). More...
class  PlanarAugmentationFix
 The algorithm for biconnectivity augmentation with fixed combinatorial embedding. More...
class  AdjEntryArrayBase
 Abstract base class for adjacency entry arrays. More...
class  AdjEntryArray
 Dynamic arrays indexed with adjacency entries. More...
class  Array
 The parameterized class Array<E,INDEX> implements dynamic arrays of type E. More...
class  Array2D
 The parameterized class Array2D<E> implements dynamic two-dimensional arrays. More...
class  ArrayBuffer
 An array that keeps track of the number of inserted elements; also usable as an efficient stack. More...
class  Comparer
 Abstract base class for comparer classes. More...
class  DefComparer
 Default implementation for comparer. More...
class  DefComparer< int >
 More efficient specialization of DefComparer<int>. More...
class  BucketFunc
 Abstract base class for bucket functions. More...
class  BinaryHeap
 Min-heap priority queue realized by a data array. More...
class  BoundedQueue
 The parameterized class BoundedQueue<E> implements queues with bounded size. More...
class  BoundedStack
 The parameterized class BoundedStack<E> implements stacks with bounded size. More...
class  FaceElement
 Faces in a combinatorial embedding. More...
class  ConstCombinatorialEmbedding
 Combinatorial embeddings of planar graphs. More...
class  CombinatorialEmbedding
 Combinatorial embeddings of planar graphs with modification functionality. More...
class  DualGraph
 A dual graph including its combinatorial embedding of an embedded graph. More...
class  EdgeArrayBase
 Abstract base class for edge arrays. More...
class  EdgeArray
 Dynamic arrays indexed with edges. More...
class  BucketEdgeArray
 Bucket function for edges. More...
class  EdgeComparer
 The EdgeComparer compares adjacency entries on base of the position of the nodes given by an Attributed Graph's layout information. More...
class  Exception
 Base class of all ogdf exceptions. More...
class  DynamicCastFailedException
 Exception thrown when result of cast is 0. More...
class  InsufficientMemoryException
 Exception thrown when not enough memory is available to execute an algorithm. More...
class  PreconditionViolatedException
 Exception thrown when preconditions are violated. More...
class  AlgorithmFailureException
 Exception thrown when an algorithm realizes an internal bug that prevents it from continueing. More...
class  LibraryNotSupportedException
 Exception thrown when an external library shall be used which is not supported. More...
class  FaceArrayBase
 Abstract base class for face arrays. More...
class  FaceArray
 Dynamic arrays indexed with faces of a combinatorial embedding. More...
class  FaceSetSimple
 Maintains a subset S of the faces contained in an associated combinatorial embedding E. More...
class  FaceSetPure
 maintains a subset S of the faces contained in an associated combinatorial embedding E More...
class  FaceSet
 maintains a subset S of the faces contained in an associated combinatorial embedding E More...
class  GenericPoint
 Parameterized base class for points. More...
class  IPoint
 Integer points. More...
class  DefHashFunc< IPoint >
class  IPolyline
 Polylines with integer coordinates. More...
class  DPoint
 Real points. More...
class  DVector
 Vectos with real coordinates. More...
class  DPolyline
 Polylines with real coordinates. More...
class  DLine
 Lines with real coordinates. More...
class  DRect
 Rectangles with real coordinates. More...
class  DScaler
 Scaling between coordinate systems. More...
class  DSegment
 Line segments with real coordinates. More...
class  DPolygon
 Polygons with real coordinates. More...
class  GraphElement
 The base class for objects used by graphs like nodes, edges, etc. More...
class  GraphListBase
 Base class for GraphElement lists. More...
class  GraphList
 Lists of graph objects (like nodes, edges, etc.). More...
class  AdjElement
 Class for adjacency list elements. More...
class  NodeElement
 Class for the representation of nodes. More...
class  EdgeElement
 Class for the representation of edges. More...
class  Graph
 Data type for general directed graphs (adjacency list representation). More...
class  BucketSourceIndex
 Bucket function using the index of an edge's source node as bucket. More...
class  BucketTargetIndex
 Bucket function using the index of an edge's target node as bucket. More...
class  GraphAttributes
 Stores additional attributes of a graph (like layout information). More...
class  GraphCopySimple
 Copies of graphs with mapping between nodes and edges. More...
class  GraphCopy
 Copies of graphs supporting edge splitting. More...
class  GraphCopyAttributes
class  GraphObserver
 Abstract Base class for classes that need to keep track of changes in the graph like addition/deletion of nodes or edges. derived classes have to overload nodeDeleted, nodeAdded edgeDeleted, edgeAdded these functions should be called by Graph before (delete). More...
class  GridLayout
 Representation of a graph's grid layout. More...
class  GridLayoutMapped
class  HashArray
 Indexed arrays using hashing for element access. More...
class  HashArray2D
 Indexed 2-dimensional arrays using hashing for element access. More...
class  HashElementBase
 Base class for elements within a hash table. More...
class  HashingBase
 Base class for hashing with chaining and table doubling. More...
class  HashElement
 Representation of elements in a hash table. More...
class  DefHashFunc
 Default hash functions. More...
class  DefHashFunc< void * >
 Specialized default hash function for pointer types. More...
class  DefHashFunc< double >
 Specialized default hash function for double. More...
class  Hashing
 Hashing with chaining and table doubling. More...
class  HashConstIterator
 Iterators for hash tables. More...
class  HashConstIterator2D
 Const-iterator for 2D-hash arrays. More...
class  HeapBase
class  IncNodeInserter
class  Layout
 Stores a layout of a graph (coordinates of nodes, bend points of edges). More...
class  ListElement
 The parameterized class ListElement<E> represents the structure for elements of doubly linked lists. More...
class  ListIterator
 The parameterized class ListIterator<E> encapsulates a pointer to a dlist element. More...
class  ListConstIterator
 The parameterized class ListIterator<E> encapsulates a constant pointer to a list element. More...
class  ListPure
 The parameterized class ListPure<E> represents doubly linked lists with content type E. More...
class  List
 The parameterized class ListPure<E> represents doubly linked lists with content type E. More...
class  Logger
 Centralized global and local logging facility working on streams like cout. More...
class  Math
struct  MemElem
class  MemoryManager
 The class MemoryManager represents the ogdf internal memory manager. More...
class  SimpleMemoryManager
 Implements a simple memory manager using malloc() and free(). More...
class  Valued
 Augments any data elements of type X with keys of type Score. More...
class  MinHeap
 Dynamically growing binary heap tuned for efficiency on a small interface (compared to BinaryHeap). More...
class  Top10Heap
 A variant of MinHeap which always holds only the X (e.g. X=10) elements with the highest keys. More...
class  Module
 Base class for modules. More...
class  ModuleOption
 The parameterized base class for module options. More...
class  NearestRectangleFinder
class  NodeArrayBase
 Abstract base class for node arrays. More...
class  NodeArray
 Dynamic arrays indexed with nodes. More...
class  NodeComparer
class  NodeSetSimple
class  NodeSetPure
class  NodeSet
class  QueuePure
 The parameterized class QueuePure<E> implements list-based queues. More...
class  Queue
 The parameterized class Queue<E> implements list-based queues. More...
class  Skiplist
 A randomized skiplist. More...
class  SkiplistIterator
 Forward-Iterator for Skiplists. More...
class  SListElement
 The parameterized class SListElement<E> represents the structure for elements of singly linked lists. More...
class  SListIterator
 The parameterized class SListIterator<E> encapsulates a pointer to an slist element. More...
class  SListConstIterator
 The parameterized class SListIterator<E> encapsulates a constant pointer to an slist element. More...
class  SListPure
 The parameterized class SListPure<E> represents singly linked lists with content type E. More...
class  SList
 The parameterized class SList<E> represents singly linked lists with content type E. More...
class  StackPure
 The parameterized class StackPure<E> implements list-based stacks. More...
class  Stack
 The parameterized class Stack<E> implements list-based stacks. More...
class  String
 Representation of character strings. More...
class  DefHashFunc< String >
class  Timeouter
 class for timeout funtionality More...
class  TopologyModule
class  PointComparer
class  EdgeLeg
class  Tuple2
 Tuples of two elements (2-tuples). More...
class  Tuple3
 Tuples of three elements (3-tuples). More...
class  Tuple4
 Tuples of three elements (3-tuples). More...
class  HashFuncTuple
class  UMLGraph
class  CconnectClusterPlanar
class  CconnectClusterPlanarEmbed
class  ClusterArrayBase
 Abstract base class for cluster arrays. More...
class  ClusterArray
 Dynamic arrays indexed with clusters. More...
class  ClusterElement
 Representation of clusters in a clustered graph. More...
class  ClusterGraph
 Representation of clustered graphs. More...
class  ClusterInfo
 Stores information associated with a cluster. More...
class  ClusterGraphAttributes
 Stores additional attributes of a clustered graph (like layout information). More...
class  ClusterGraphCopyAttributes
 Manages access on copy of an attributed clustered graph. More...
class  ClusterGraphObserver
class  ClusterOrthoLayout
class  ClusterOrthoShaper
class  ClusterPlanarizationLayout
 The cluster planarization layout algorithm. More...
class  ClusterPlanRep
class  ClusterSetSimple
class  ClusterSetPure
class  ClusterSet
class  NodePair
class  CPlanarEdgeInserter
class  CPlanarSubClusteredGraph
 Constructs a c-planar subclustered graph of the input on base of a spanning tree. More...
class  BCTree
 Static BC-trees. More...
class  DynamicBCTree
 Dynamic BC-trees. More...
class  DynamicPlanarSPQRTree
 SPQR-trees of planar graphs. More...
class  DynamicSkeleton
 Skeleton graphs of nodes in a dynamic SPQR-tree. More...
class  DynamicSPQRForest
 Dynamic SPQR-forest. More...
class  DynamicSPQRTree
 Linear-time implementation of dynamic SPQR-trees. More...
class  PertinentGraph
 Pertinent graphs of nodes in an SPQR-tree. More...
class  PlanarSPQRTree
 SPQR-trees of planar graphs. More...
class  Skeleton
 Skeleton graphs of nodes in an SPQR-tree. More...
class  SPQRTree
 Linear-time implementation of static SPQR-trees. More...
class  StaticPlanarSPQRTree
 SPQR-trees of planar graphs. More...
class  StaticSkeleton
 Skeleton graphs of nodes in a static SPQR-tree. More...
class  StaticSPQRTree
 Linear-time implementation of static SPQR-trees. More...
class  TutteLayout
class  DavidsonHarel
 The Davidson-Harel approach for drawing graphs. More...
class  DavidsonHarelLayout
 The Davidson-Harel layout algorithm. More...
class  FMMMLayout
 The fast multipole multilevel layout algorithm. More...
class  GEMLayout
 The energy-based GEM layout algorithm. More...
class  SpringEmbedderFR
 The spring-embedder layout algorithm by Fruchterman and Reingold. More...
class  CoinCallbacks
class  CoinManager
class  DinoLineBufferPosition
class  DinoLineBuffer
class  DinoTools
class  DinoUmlDiagramGraph
class  DinoUmlModelGraph
class  DinoUmlToGraphConverter
struct  XmlAttributeObject
struct  XmlTagObject
class  DinoXmlParser
class  DinoXmlScanner
struct  GmlObject
class  GmlParser
struct  XmlObject
class  XmlParser
class  CliqueFinder
 Finds cliques and dense subgraphs. More...
class  Clusterer
class  GraphReduction
class  MinCostFlowReinelt
class  MinCut
class  ShortestPathWithBFM
class  ClusterPQContainer
class  CPlanarSubClusteredST
 Constructs a c-planar subclustered spanning tree of the input by setting edgearray values. More...
class  AdjacencyOracle
 Tells you in linear time if two nodes are adjacent. More...
class  Attraction
 Energy function for attraction between two adjacent vertices. More...
class  EdgeAttributes
class  EnergyFunction
 The interface for energy functions for the Davidson Harel graph drawing method. More...
class  FruchtermanReingold
class  IntersectionRectangle
class  NMM
class  NodeAttributes
class  NodePairEnergy
class  Overlap
class  ParticleInfo
class  ParticleInfoComparer
class  Planarity
class  PlanarityGrid
class  QuadTreeNM
class  QuadTreeNodeNM
class  Repulsion
class  UniformGrid
class  LPSolver
class  NodeInfo
class  RoutingChannel
class  BoyerMyrvoldInit
 This class is used in the Boyer-Myrvold planarity test for preprocessing purposes. More...
class  BucketLowPoint
 BucketFunction for lowPoint buckets. More...
class  BoyerMyrvoldPlanar
 This class implements the extended BoyerMyrvold planarity embedding algorithm. More...
class  ConnectedSubgraph
class  EmbedderMaxFaceBiconnectedGraphs
class  EmbedderMaxFaceBiconnectedGraphsLayers
class  mdmf_la
class  EmbedIndicator
class  indInfo
class  embedKey
class  EmbedPQTree
struct  ExternE
 List of externally active nodes strictly between x and y for minortypes B and E. More...
struct  WInfo
 Saves information about a pertinent node w between two stopping vertices. More...
class  KuratowskiStructure
 A Kuratowski Structure is a special graph structure containing severals subdivisions. More...
class  FindKuratowskis
 This class collects information about Kuratowski Subdivisions which is used for extraction later. More...
class  MaxSequencePQTree
class  PlanarLeafKey
class  PlanarPQTree
class  PlanarSubgraphPQTree
class  PQBasicKey
class  PQBasicKeyRoot
class  PQInternalKey
class  PQInternalNode
class  PQLeaf
class  PQLeafKey
class  PQNode
class  PQNodeKey
class  PQNodeRoot
class  PQTree
class  PQTreeRoot
class  whaInfo
class  whaKey
class  ELabelPos
class  EdgeLabel
class  ELabelInterface
class  ELabelPosSimple
class  BarycenterHeuristic
 The barycenter heuristic for 2-layer crossing minimization. More...
class  CrossingsMatrix
class  DfsAcyclicSubgraph
 DFS-based algorithm for computing a maximal acyclic subgraph. More...
struct  RCCrossings
class  LHTreeNode
class  ENGLayer
class  ClusterGraphCopy
class  ExtendedNestingGraph
class  withKey
 Stores a pair of an integer and a double. More...
class  cmpWithKey
class  kList
 Class kList extends the class List by functions needed in the FastHierarchLayout algorithm. More...
class  FastHierarchyLayout
 Coordinate assignment phase for the Sugiyama algorithm by Buchheim et al.. More...
class  GreedyCycleRemoval
 Greedy algorithm for computing a maximal acyclic subgraph. More...
class  Hierarchy
 Representation of proper hierarchies used by Sugiyama-layout. More...
class  Level
 Representation of levels in hierarchies. More...
class  LongestPathRanking
 The longest-path ranking algorithm. More...
class  MedianHeuristic
 The median heuristic for 2-layer crossing minimization. More...
class  OptimalHierarchyClusterLayout
 The LP-based hierarchy cluster layout algorithm. More...
class  OptimalHierarchyLayout
 The LP-based hierarchy layout algorithm. More...
class  OptimalRanking
 The optimal ranking algorithm. More...
class  SplitHeuristic
 The split heuristic for 2-layer crossing minimization. More...
class  SugiyamaLayout
 Sugiyama's layout algorithm. More...
class  BalloonLayout
class  CircularLayout
 The circular layout algorithm. More...
class  AcyclicSubgraphModule
 Base class of algorithms for computing a maximal acyclic subgraph. More...
class  AugmentationModule
 The base class for graph augmentation algorithms. More...
class  CCLayoutPackModule
 Base class of algorithms that arrange/pack layouts of connected components. More...
class  SimpleCluster
class  ClustererModule
 Interface for algorithms that compute a clustering for a given graph. More...
class  CrossingMinimizationModule
 Interface for crossing minimization algorithms. More...
class  EdgeInsertionModule
 Interface for edge insertion algorithms. More...
class  EmbedderModule
 Base class for embedder algorithms. More...
class  GridLayoutModule
 Base class for grid layout algorithms. More...
class  PlanarGridLayoutModule
 Base class for planar grid layout algorithms. More...
class  GridLayoutPlanRepModule
 Base class for grid layout algorithms operating on a PlanRep. More...
class  HierarchyClusterLayoutModule
 Interface of hierarchy layout algorithms for cluster graphs. More...
class  HierarchyLayoutModule
 Interface of hierarchy layout algorithms. More...
class  LayoutClusterPlanRepModule
 Interface for planar cluster layout algorithms. More...
class  LayoutModule
 Interface of general layout algorithms. More...
class  LayoutPlanRepModule
 Interface for planar UML layout algorithms. More...
class  MinCostFlowModule
 Interface for min-cost flow algorithms. More...
class  MixedModelCrossingsBeautifierModule
 The base class for Mixed-Model crossings beautifier algorithms. More...
class  MMDummyCrossingsBeautifier
 Dummy implementation of Mixed-Model crossings beautifier. More...
class  MMCrossingMinimizationModule
 Interface for minor-monotone crossing minimization algorithms. More...
class  MMEdgeInsertionModule
 Interface for minor-monotone edge insertion algorithms. More...
class  PlanarSubgraphModule
 Interface for planar subgraph algorithms. More...
class  RankingModule
 Interface of algorithms for computing a node ranking. More...
class  ShellingOrderModule
 Base class for modules that compute a shelling order of a graph. More...
class  ShortestPathModule
class  TwoLayerCrossMin
 Interface of two-layer crossing minimization algorithms. More...
class  UMLLayoutModule
 Interface of UML layout algorithms. More...
class  UpwardPlanarSubgraphModule
 Interface for algorithms for computing an upward planar subgraph. More...
class  CompactionConstraintGraphBase
class  CompactionConstraintGraph
class  EdgeRouter
class  FlowCompaction
 represents compaction algorithm using min-cost flow in the dual of the constraint graph More...
class  LongestPathCompaction
 Compaction algorithm using longest paths in the constraint graph. More...
class  MinimumEdgeDistances
class  OrthoLayout
class  BendString
class  OrthoRep
class  OrthoShaper
class  TileToRowsCCPacker
 The tile-to-rows algorithm for packing drawings of connected components. More...
class  BoyerMyrvold
 Wrapper class used for preprocessing and valid invocation of the planarity test. More...
class  EmbedderMaxFace
 Planar graph embedding with maximum external face. More...
class  EmbedderMaxFaceLayers
 Planar graph embedding with maximum external face (plus layers approach). More...
class  EmbedderMinDepth
 Planar graph embedding with minimum block-nesting depth. More...
class  EmbedderMinDepthMaxFace
 Planar graph embedding with minimum block-nesting depth and maximum external face. More...
class  EmbedderMinDepthMaxFaceLayers
 Planar graph embedding with minimum block-nesting depth and maximum external face (plus layers approach). More...
class  EmbedderMinDepthPiTa
 Planar graph embedding with minimum block-nesting depth for given embedded blocks. More...
class  DynamicBacktrack
 Extracts all possible paths with backtracking using given edges and special constraints. More...
class  KuratowskiWrapper
 Wrapper-class for Kuratowski Subdivisions containing the minortype and edgelist. More...
class  ExtractKuratowskis
 Extracts multiple Kuratowski Subdivisions. More...
class  FastPlanarSubgraph
 Computation of a planar subgraph using PQ-trees. More...
class  FixedEmbeddingInserter
 Edge insertion module that inserts each edge optimally into a fixed embedding. More...
class  KuratowskiSubdivision
class  MaximalPlanarSubgraphSimple
class  MMFixedEmbeddingInserter
 Minor-monotone edge insertion with fixed embedding. More...
class  MMSubgraphPlanarizer
 Planarization approach for minor-monotone crossing minimization. More...
class  MMVariableEmbeddingInserter
 Minor-monotone edge insertion with variable embedding. More...
class  NonPlanarCore
class  PlanarizationGridLayout
 The planarization grid layout algorithm. More...
class  PlanarizationLayout
 The planarization layout algorithm. More...
class  AddNodeComparer
 Node comparer for sorting by decreasing int values. More...
class  PlanarModule
class  PlanRep
 Planarized representations (of a connected component) of a graph. More...
class  PlanRepExpansion
 Planarized representations (of a connected component) of a graph. More...
class  PlanRepInc
class  PlanRepUML
class  SimpleEmbedder
 Planar graph embedding by using PlanarModule. More...
class  SimpleIncNodeInserter
class  SubgraphPlanarizer
 The planarization approach for crossing minimization. More...
class  VariableEmbeddingInserter
 Optimal edge insertion module. More...
class  VariableEmbeddingInserter2
class  BiconnectedShellingOrder
 Computation of the shelling order for biconnected graphs. More...
class  MixedModelLayout
 Implementation of the Mixed-Model layout algorithm. More...
class  MMCBBase
 common base class for MMCBDoubleGrid and MMCBLocalStretch. More...
class  MMCBDoubleGrid
 Crossings beautifier using grid doubling. More...
class  MMCBLocalStretch
 Crossings beautifier using a local stretch strategy. More...
class  PlanarDrawLayout
 Implementation of the Planar-Draw layout algorithm. More...
class  PlanarStraightLayout
 Implementation of the Planar-Straight layout algorithm. More...
class  ShellingOrderSet
 The node set in a shelling order of a graph. More...
class  ShellingOrder
 The shelling order of a graph. More...
class  TriconnectedShellingOrder
class  SimDraw
 The Base class for simultaneous graph drawing. More...
class  SimDrawCaller
 Calls modified algorithms for simdraw instances. More...
class  SimDrawColorizer
 Adds color to a graph. More...
class  SimDrawCreator
 Creates variety of possible SimDraw creations. More...
class  SimDrawCreatorSimple
 Offers predefined SimDraw creations. More...
class  SimDrawManipulatorModule
 Interface for simdraw manipulators. More...
class  TwoLayerCrossMinSimDraw
class  RadialTreeLayout
 The radial tree layout algorithm. More...
class  TreeLayout
 The tree layout algorithm. More...
class  ExpansionGraph
class  FaceSinkGraph
class  UpwardPlanarModule
class  UpwardPlanarSubgraphSimple

Typedefs

typedef labelStructlabel
typedef FaceElementface
typedef NodeElementnode
 The type of nodes.
typedef EdgeElementedge
 The type of edges.
typedef AdjElementadjEntry
 The type of adjacency entries.
typedef MemElemMemElemPtr
typedef ClusterElementcluster
 The type of clusters.
typedef HashElement< String, int > HashedString
typedef HashElement< String,
int > * 
GmlKey
typedef HashElement< String,
int > * 
XmlKey
typedef PQBasicKey< edge,
indInfo *, bool > * 
PtrPQBasicKeyEIB
typedef PlanarLeafKey< indInfo * > * PtrPlanarLeafKeyI
typedef PQLeafKey< edge,
whaInfo *, bool > * 
PtrPQLeafKeyEWB
typedef PlanarLeafKey< whaInfo * > * PtrPlanarLeafKeyW
typedef long edgeType
typedef long nodeType

Enumerations

enum  paStopCause { paPlanarity, paCDegree, paBDegree, paRoot }
enum  Direction { before, after }
enum  FileType { ftEntry, ftFile, ftDirectory }
 The type of an entry in a directory. More...
enum  PreconditionViolatedCode {
  pvcUnknown, pvcSelfLoop, pvcTreeHierarchies, pvcAcyclicHierarchies,
  pvcSingleSource, pvcUpwardPlanar, pvcTree, pvcForest,
  pvcOrthogonal, pvcPlanar, pvcClusterPlanar, pvcNoCopy,
  pvcConnected, pvcBiconnected, pvcSTOP
}
 Error code for a violated precondition. More...
enum  AlgorithmFailureCode {
  afcUnknown, afcIllegalParameter, afcNoFlow, afcSort,
  afcLabel, afcExternalFace, afcForbiddenCrossing, afcTimelimitExceeded,
  afcNoSolutionFound, afcSTOP
}
 Code for an internal failure condition. More...
enum  LibraryNotSupportedCode {
  lnscUnknown, lnscCoin, lnscAbacus, lnscFunctionNotImplemented,
  lnscMissingCallbackImplementation, lnscSTOP
}
 Code for the library which was intended to get used, but its use is not supported. More...
enum  Orientation { topToBottom, bottomToTop, leftToRight, rightToLeft }
 Determines the orientation in hierarchical layouts. More...
enum  bendCost { defaultCost, topDownCost, bottomUpCost }
enum  XmlToken {
  openingBracket, closingBracket, questionMark, exclamationMark,
  minus, slash, equalSign, identifier,
  attributeValue, quotedValue, endOfFile, invalidToken,
  noToken
}
enum  GmlObjectType {
  gmlIntValue, gmlDoubleValue, gmlStringValue, gmlListBegin,
  gmlListEnd, gmlKey, gmlEOF, gmlError
}
enum  XmlObjectType {
  xmlIntValue, xmlDoubleValue, xmlStringValue, xmlListBegin,
  xmlListEnd, xmlBody, xmlKey, xmlEOF,
  xmlError
}
enum  enumDirection { CCW = 0, CW = 1 }
 Directions for clockwise and counterclockwise traversal. More...
enum  enumEdgeType {
  EDGE_UNDEFINED = 0, EDGE_SELFLOOP = 1, EDGE_BACK = 2, EDGE_DFS = 3,
  EDGE_DFS_PARALLEL = 4, EDGE_BACK_DELETED = 5
}
 Type of edge. More...
enum  SibDirection { NODIR, LEFT, RIGHT }
enum  whaType { W_TYPE, B_TYPE, H_TYPE, A_TYPE }
enum  OutputParameter { opStandard, opOmitIntersect, opOmitFIntersect, opResult }
enum  candStatus { csAssigned, csFIntersect, csActive, csUsed }
enum  eLabelTyp {
  elEnd1, elMult1, elName, elEnd2,
  elMult2
}
enum  eUsedLabels {
  lName = 4, lEnd1 = 1, lMult1 = 2, lEnd2 = 8,
  lMult2 = 16, lAll = 31
}
enum  UMLOpt { umlOpAlign = 0x0001, umlOpScale = 0x0002, umlOpProg = 0x0004 }
enum  ConstraintEdgeType {
  cetBasicArc, cetVertexSizeArc, cetVisibilityArc, cetFixToZeroArc,
  cetReducibleArc, cetMedianArc
}
enum  bend_type {
  bend_free, bend_1left, bend_1right, bend_2left,
  bend_2right, prob_bf, prob_b1l, prob_b1r,
  prob_b2l, prob_b2r
}
 edge types, defined by necessary bends More...
enum  process_type { unprocessed, processed, used }
enum  OptionProfile { standard, minBendsperEdge, fullService }
enum  BendType { convexBend = '0', reflexBend = '1' }
enum  OrthoDir {
  odNorth = 0, odEast = 1, odSouth = 2, odWest = 3,
  odUndefined = 4
}
enum  UMLEdgeTypePatterns {
  etpPrimary = 0x0000000f, etpSecondary = 0x000000f0, etpTertiary = 0x00000f00, etpFourth = 0x0000f000,
  etpUser = 0xff000000, etpAll = 0xffffffff
}
enum  UMLEdgeTypeConstants {
  etcPrimAssociation = 0x1, etcPrimGeneralization = 0x2, etcPrimDependency = 0x4, etcSecExpansion = 0x1,
  etcSecDissect = 0x2, etcSecFaceSplitter = 0x3, etcSecCluster = 0x4, etcSecClique,
  etcMerger = 0x1, etcVertical = 0x2, etcAlign = 0x3, etcAssClass = 0x8,
  etcBrother = 0x1, etcHalfBrother = 0x2, etcCousin = 0x3, etcFifthToMerger = 0x1,
  etcFifthFromMerger = 0x2
}
 !!attention sign, 7fffffff More...
enum  UMLEdgeTypeOffsets {
  etoPrimary = 0, etoSecondary = 4, etoTertiary = 8, etoFourth = 12,
  etoFifth = 16, etoUser = 24
}
enum  UMLNodeTypePatterns {
  ntpPrimary = 0x0000000f, ntpSecondary = 0x000000f0, ntpTertiary = 0x00000f00, ntpFourth = 0x0000f000,
  ntpUser = 0xff000000, ntpAll = 0xffffffff
}
enum  UMLNodeTypeConstants {
  ntPrimOriginal = 0x1, ntPrimCopy = 0x2, ntSecStructural = 0x1, ntSecNonStructural = 0x2,
  ntTerCrossing = 0x1, ntTerExpander = 0x2, ntTerHDExpander = 0x6, ntTerLDExpander = 0xA,
  ntFourFlow = 0x1, ntFourLabel = 0x2, ntFourType = 0x3, ntFourCorner = 0x4
}
 !!attention sign, 7fffffff More...
enum  UMLNodeTypeOffsets {
  ntoPrimary = 0, ntoSecondary = 4, ntoTertiary = 8, ntoFourth = 12,
  ntoFifth = 16, ntoUser = 24
}

Functions

template<class E, class INDEX>
void print (ostream &os, const Array< E, INDEX > &a, char delim= ' ')
template<class E, class INDEX>
ostream & operator<< (ostream &os, const ogdf::Array< E, INDEX > &a)
template<class T>
void swap (T &x, T &y)
 Exchanges x and y.
template<class T>
min (const T &x, const T &y)
 Returns minimum of x and y.
template<class T>
max (const T &x, const T &y)
 Returns maximum of x and y.
int randomNumber (int low, int high)
 Returns random integer between low and high (including).
double randomDouble (double low, double high)
 Returns random double value between low and high.
double usedTime (double &T)
template<class E>
bool doDestruction (const E *)
template<>
bool doDestruction (const char *)
template<>
bool doDestruction< int > (const int *)
template<>
bool doDestruction< double > (const double *)
bool isFile (const char *fileName)
 Returns true iff fileName is a regular file (not a directory).
bool isDirectory (const char *fileName)
 Returns true iff fileName is a directory.
void changeDir (const char *dirName)
 Changes current directory to dirName.
void getFiles (const char *dirName, List< String > &files, const char *pattern="*")
 Returns in files the list of files in directory dirName.
void getFilesAppend (const char *dirName, List< String > &files, const char *pattern="*")
 Appends to files the list of files in directory dirName.
void getSubdirs (const char *dirName, List< String > &subdirs, const char *pattern="*")
 Returns in subdirs the list of directories contained in directory dirName.
void getSubdirsAppend (const char *dirName, List< String > &subdirs, const char *pattern="*")
 Appends to subdirs the list of directories contained in directory dirName.
void getEntries (const char *dirName, List< String > &entries, const char *pattern="*")
 Returns in entries the list of all entries contained in directory dirName.
void getEntriesAppend (const char *dirName, List< String > &entries, const char *pattern="*")
 Appends to entries the list of all entries contained in directory dirName.
void getEntries (const char *dirName, FileType t, List< String > &entries, const char *pattern="*")
 Returns in entries the list of all entries of type t contained in directory dirName.
void getEntriesAppend (const char *dirName, FileType t, List< String > &entries, const char *pattern="*")
 Appends to entries the list of all entries of type t contained in directory dirName.
int sprintf (char *buffer, size_t sizeOfBuffer, const char *format,...)
int vsprintf (char *buffer, size_t sizeInBytes, const char *format, va_list argptr)
int strcat (char *strDest, size_t sizeOfDest, const char *strSource)
int strcpy (char *strDest, size_t sizeOfDest, const char *strSource)
int strncpy (char *strDest, size_t sizeOfDest, const char *strSource, size_t count)
int localtime (struct tm *ptm, const time_t *timer)
template<class E, class INDEX>
void print (ostream &os, const BoundedQueue< E, INDEX > &S, char delim= ' ')
template<class E, class INDEX>
ostream & operator<< (ostream &os, const BoundedQueue< E, INDEX > &Q)
template<class E, class INDEX>
void print (ostream &os, const BoundedStack< E, INDEX > &S, char delim= ' ')
template<class E, class INDEX>
ostream & operator<< (ostream &os, const BoundedStack< E, INDEX > &S)
template<class LISTITERATOR>
void inducedSubGraph (const Graph &G, LISTITERATOR start, Graph &subGraph)
 Computes the induced subgraph of nodes.
template<class LISTITERATOR>
void inducedSubGraph (const Graph &G, LISTITERATOR start, Graph &subGraph, NodeArray< node > &nodeTableOrig2New)
 Computes the induced subgraph of nodes.
template<class LISTITERATOR>
void inducedSubGraph (const Graph &G, LISTITERATOR start, Graph &subGraph, NodeArray< node > &nodeTableOrig2New, EdgeArray< edge > &edgeTableOrig2New)
 Computes the induced subgraph of nodes.
template<class NODELISTITERATOR, class EDGELIST>
void inducedSubgraph (Graph &G, NODELISTITERATOR &it, EDGELIST &E)
bool isCConnected (const ClusterGraph &C)
void makeCConnected (ClusterGraph &C, Graph &GG, List< edge > &addedEdges, bool simple=true)
int stNumber (const Graph &G, NodeArray< int > &numbering, node s=0, node t=0, bool randomized=false)
bool testSTnumber (const Graph &G, NodeArray< int > &st_no, int max)
bool DIsEqual (const double &a, const double &b, const double eps=1e-06)
bool DIsGreaterEqual (const double &a, const double &b, const double eps=1e-06)
bool DIsGreater (const double &a, const double &b, const double eps=1e-06)
bool DIsLessEqual (const double &a, const double &b, const double eps=1e-06)
bool DIsLess (const double &a, const double &b, const double eps=1e-06)
double DRound (const double &d, int prec=0)
ostream & operator<< (ostream &os, const IPoint &ip)
 Output operator for integer points.
ostream & operator<< (ostream &os, const DPoint &dp)
 Output operator for integer points.
ostream & operator<< (ostream &os, const DLine &dl)
 Output operator for lines.
ostream & operator<< (ostream &os, const DRect &dr)
 Output operator for rectangles.
ostream & operator<< (ostream &os, const DScaler &ds)
 Output operator for scalers.
ostream & operator<< (ostream &os, const DPolygon &dop)
 Output operator for polygons.
ostream & operator<< (ostream &os, ogdf::node v)
 Output operator for nodes; prints node index (or "nil").
ostream & operator<< (ostream &os, ogdf::edge e)
 Output operator for edges; prints source and target indices (or "nil").
ostream & operator<< (ostream &os, ogdf::adjEntry adj)
 Output operator for adjacency entries; prints node and twin indices (or "nil").
bool test_forall_adj_edges (adjEntry &adj, edge &e)
template<>
bool doDestruction< node > (const node *)
template<>
bool doDestruction< edge > (const edge *)
template<>
bool doDestruction< adjEntry > (const adjEntry *)
void randomGraph (Graph &G, int n, int m)
 Creates a random graph.
bool randomSimpleGraph (Graph &G, int n, int m)
 Creates a random simple graph.
void randomBiconnectedGraph (Graph &G, int n, int m)
 Creates a random biconnected graph.
void planarBiconnectedGraph (Graph &G, int n, int m, bool multiEdges=false)
 Creates a planar biconnected (embedded) graph.
void planarCNBGraph (Graph &G, int n, int m, int b)
 Creates a planar graph, that is connected, but not biconnected.
void randomTriconnectedGraph (Graph &G, int n, double p1, double p2)
 Creates a random triconnected (and simple) graph.
void planarTriconnectedGraph (Graph &G, int n, int m)
 Creates a planar triconnected (and simple) graph.
void planarTriconnectedGraph (Graph &G, int n, double p1, double p2)
 Creates a planar triconnected (and simple) graph.
void randomTree (Graph &G, int n, int maxDeg, int maxWidth)
 Creates a random tree.
void randomHierarchy (Graph &G, int n, int m, bool planar, bool singleSource, bool longEdges)
 Creates a random hierarchical graph.
void randomClusterPlanarGraph (ClusterGraph &C, Graph &G, int cNum)
 Assigns random clusters to a given graph G.
void randomClusterGraph (ClusterGraph &C, Graph &G, int cNum)
 Assigns random clusters to a given graph G.
void completeGraph (Graph &G, int n)
 Creates the complete graph $K_n$.
void completeBipartiteGraph (Graph &G, int n, int m)
 Creates t complete bipartite graph $K_{n,m}$.
void wheelGraph (Graph &G, int n)
 Creates the graph $W_n^{(d)}$: A wheel graph.
void cubeGraph (Graph &G, int n)
 Creates the graph $Q^n$: A n-cube graph.
void suspension (Graph &G, int s)
 Modifies G by adding its n-th suspension.
template<class E>
void print (ostream &os, const ListPure< E > &L, char delim= ' ')
template<class E>
void print (ostream &os, const List< E > &L, char delim= ' ')
template<class E>
ostream & operator<< (ostream &os, const ListPure< E > &L)
template<class E>
ostream & operator<< (ostream &os, const List< E > &L)
bool dfsGenTreeRec (UMLGraph &UG, EdgeArray< bool > &used, NodeArray< int > &hierNumber, int hierNum, node v, List< edge > &fakedGens, bool fakeTree)
edge firstOutGen (UMLGraph &UG, node v, EdgeArray< bool > &used)
bool dfsGenTree (UMLGraph &UG, List< edge > &fakedGens, bool fakeTree)
template<class E>
void print (ostream &os, const QueuePure< E > &Q, char delim= ' ')
template<class E>
void print (ostream &os, const Queue< E > &Q, char delim= ' ')
template<class E>
ostream & operator<< (ostream &os, const QueuePure< E > &Q)
template<class E>
ostream & operator<< (ostream &os, const Queue< E > &Q)
bool isLoopFree (const Graph &G)
 Returns true iff G contains no self-loop.
template<class NODELIST>
void makeLoopFree (Graph &G, NODELIST &L)
 Removes all self-loops from G and returns all nodes with self-loops in L.
void makeLoopFree (Graph &G)
 Removes all self-loops from G.
void parallelFreeSort (const Graph &G, SListPure< edge > &edges)
bool isParallelFree (const Graph &G)
 Returns true iff G contains no multi-edges.
int numParallelEdges (const Graph &G)
 Returns the number of multi-edges in G.
template<class EDGELIST>
void makeParallelFree (Graph &G, EDGELIST &parallelEdges)
 Removes all but one of each bundle of multi-edges.
void makeParallelFree (Graph &G)
 Removes all but one edge of each bundle of multi-edges in G.
void parallelFreeSortUndirected (const Graph &G, SListPure< edge > &edges, EdgeArray< int > &minIndex, EdgeArray< int > &maxIndex)
bool isParallelFreeUndirected (const Graph &G)
 Returns true iff G contains neither multi-edges nor reversal edges.
int numParallelEdgesUndirected (const Graph &G)
 return the number of multi- and reversal edges.
template<class EDGELIST>
void makeParallelFreeUndirected (Graph &G, EDGELIST &parallelEdges)
 Removes all but one of each bundle of undirected multi-edges.
void makeParallelFreeUndirected (Graph &G)
 Removes all but one of each bundle of undirected multi-edges.
template<class EDGELIST>
void makeParallelFreeUndirected (Graph &G, EDGELIST &parallelEdges, EdgeArray< int > &cardPositive, EdgeArray< int > &cardNegative)
 Removes all but one of each bundle of undirected multi-edges.
template<class EDGELIST>
void getParallelFreeUndirected (const Graph &G, EdgeArray< EDGELIST > &parallelEdges)
 Computes for each bundle of multi-edges the list of undirected multi-edges.
bool isSimple (const Graph &G)
 Returns true iff G contains neither self-loops nor multi-edges.
void makeSimple (Graph &G)
 Removes all self-loops and all but one edge of each bundle of multi-edges.
bool isSimpleUndirected (const Graph &G)
 Returns true iff G contains neither self-loops nor undirected multi-edges.
void makeSimpleUndirected (Graph &G)
 Removes all self-loops and all but one edge of each bundle of undirected multi-edges.
bool isConnected (const Graph &G)
 Returns true iff G is connected.
void makeConnected (Graph &G, List< edge > &added)
 Makes G connected by adding a minimum number of edges.
void makeConnected (Graph &G)
 makes G connected by adding a minimum number of edges.
int connectedComponents (const Graph &G, NodeArray< int > &component)
 Computes the connected components of G.
int connectedIsolatedComponents (const Graph &G, List< node > &isolated, NodeArray< int > &component)
 Computes the connected components of G.
bool isBiconnected (const Graph &G, node &cutVertex)
 Returns true if G is biconnected.
bool isBiconnected (const Graph &G)
 Returns true iff G is biconnected.
void makeBiconnected (Graph &G, List< edge > &added)
 Makes G biconnected by adding edges.
void makeBiconnected (Graph &G)
 Makes G biconnected by adding edges.
int biconnectedComponents (const Graph &G, EdgeArray< int > &component)
 Computes the biconnected components of G.
bool isTriconnected (const Graph &G, node &s1, node &s2)
 Returns true iff G is triconnected.
bool isTriconnected (const Graph &G)
 Returns true iff G is triconnected.
bool isTriconnectedPrimitive (const Graph &G, node &s1, node &s2)
 Returns true iff G is triconnected.
bool isTriconnectedPrimitive (const Graph &G)
 Returns true iff G is triconnected.
bool isAcyclic (const Graph &G, List< edge > &backedges)
 Returns true if G is acyclic.
bool isAcyclic (const Graph &G)
 Returns true iff G is acyclic.
bool isAcyclicUndirected (const Graph &G, List< edge > &backedges)
 Returns true if G is acyclic (undirected version).
bool isAcyclicUndirected (const Graph &G)
 Returns true iff G is acyclic (undirected version).
void makeAcyclic (Graph &G)
 Makes G acyclic by removing edges.
void makeAcyclicByReverse (Graph &G)
 Makes G acyclic by reversing edges.
bool hasSingleSource (const Graph &G, node &source)
 Returns true iff G contains exactly one source node (or is empty).
bool hasSingleSource (const Graph &G)
 Returns true iff G contains exactly one source node (or is empty).
bool hasSingleSink (const Graph &G, node &sink)
 Returns true iff G contains exactly one sink node (or is empty).
bool hasSingleSink (const Graph &G)
bool isStGraph (const Graph &G, node &s, node &t, edge &st)
 Returns true if G is an st-graph.
bool isStGraph (const Graph &G)
 Returns true if G is an st-graph.
void topologicalNumbering (const Graph &G, NodeArray< int > &num)
 Computes a topological numbering of an acyclic graph G.
bool isFreeForest (const Graph &G)
 Returns true iff G is a free forest, i.e., contains no undirect cycle.
bool isForest (const Graph &G, List< node > &roots)
 Returns true iff G represents a forest, i.e., a collection of rooted trees.
bool isForest (const Graph &G)
 Returns true iff G represents a forest, i.e., a collection of rooted trees.
bool isTree (const Graph &G, node &root)
 Returns true iff G represents a tree.
bool isTree (const Graph &G)
 Returns true iff G represents a tree.
template<class E>
void print (ostream &os, const SListPure< E > &L, char delim= ' ')
template<class E>
void print (ostream &os, const SList< E > &L, char delim= ' ')
template<class E>
ostream & operator<< (ostream &os, const SListPure< E > &L)
template<class E>
ostream & operator<< (ostream &os, const SList< E > &L)
template<class E>
void bucketSort (Array< E > &a, int min, int max, BucketFunc< E > &f)
template<class E>
void print (ostream &os, const StackPure< E > &S, char delim= ' ')
template<class E>
void print (ostream &os, const Stack< E > &S, char delim= ' ')
template<class E>
ostream & operator<< (ostream &os, const StackPure< E > &S)
template<class E>
ostream & operator<< (ostream &os, const Stack< E > &S)
ostream & operator<< (ostream &os, const String &str)
 Output operator for strings.
template<class E1, class E2>
bool operator== (const Tuple2< E1, E2 > &t1, const Tuple2< E1, E2 > &t2)
 Equality operator for 2-tuples.
template<class E1, class E2>
bool operator!= (const Tuple2< E1, E2 > &t1, const Tuple2< E1, E2 > &t2)
 Inequality operator for 2-tuples.
template<class E1, class E2>
ostream & operator<< (ostream &os, const Tuple2< E1, E2 > &t2)
 Output operator for 2-tuples.
template<class E1, class E2, class E3>
bool operator== (const Tuple3< E1, E2, E3 > &t1, const Tuple3< E1, E2, E3 > &t2)
 Equality operator for 3-tuples.
template<class E1, class E2, class E3>
bool operator!= (const Tuple3< E1, E2, E3 > &t1, const Tuple3< E1, E2, E3 > &t2)
 Inequality operator for 3-tuples.
template<class E1, class E2, class E3>
ostream & operator<< (ostream &os, const Tuple3< E1, E2, E3 > &t3)
 Output operator for 3-tuples.
template<class E1, class E2, class E3, class E4>
bool operator== (const Tuple4< E1, E2, E3, E4 > &t1, const Tuple4< E1, E2, E3, E4 > &t2)
 Equality operator for 4-tuples.
template<class E1, class E2, class E3, class E4>
bool operator!= (const Tuple4< E1, E2, E3, E4 > &t1, const Tuple4< E1, E2, E3, E4 > &t2)
 Inequality operator for 4-tuples.
template<class E1, class E2, class E3, class E4>
ostream & operator<< (ostream &os, const Tuple4< E1, E2, E3, E4 > &t4)
 Output operator for 4-tuples.
bool test_forall_adj_entries_of_cluster (ListIterator< adjEntry > &it, adjEntry &adj)
bool test_forall_adj_edges_of_cluster (ListIterator< adjEntry > &it, edge &e)
bool test_forall_adj_edges_of_cluster (adjEntry &adj, edge &e)
ostream & operator<< (ostream &os, ogdf::cluster c)
ostream & operator<< (ostream &os, const DinoUmlDiagramGraph &diagramGraph)
ostream & operator<< (ostream &os, const DinoUmlModelGraph &modelGraph)
ostream & operator<< (ostream &os, const DinoXmlParser &parser)
bool loadRomeGraphStream (Graph &G, std::istream &fileStream)
 Loads a graph in the Rome-Graph-format from the given stream.
bool loadRomeGraph (Graph &G, const char *fileName)
 Loads a graph in the Rome-Graph-format from the specified file.
bool loadYGraph (Graph &G, FILE *lineStream)
 Loads a graph in the Y-graph-format from the given stream (one line).
bool loadBenchHypergraphStream (Graph &G, List< node > &hypernodes, List< edge > *shell, std::istream &fileStream)
 Loads a hypergraph in the BENCH-format from the given stream.
bool loadBenchHypergraph (Graph &G, List< node > &hypernodes, List< edge > *shell, const char *fileName)
 Loads a hypergraph in the BENCH-format from the specified file.
template<class LIST>
void quicksortTemplate (LIST &L)
template<class LIST, class COMPARER>
void quicksortTemplate (LIST &L, COMPARER &comp)
template<class LIST, class COMPARER>
void quicksortCTTemplate (LIST &L, COMPARER &comp)
ostream & operator<< (ostream &O, const NodeInfo &inf)
bool operator== (const mdmf_la &x, const mdmf_la &y)
bool operator!= (const mdmf_la &x, const mdmf_la &y)
bool operator> (const mdmf_la &x, const mdmf_la &y)
bool operator< (const mdmf_la &x, const mdmf_la &y)
bool operator>= (const mdmf_la &x, const mdmf_la &y)
bool operator<= (const mdmf_la &x, const mdmf_la &y)
mdmf_la operator+ (const mdmf_la &x, const mdmf_la &y)
mdmf_la operator- (const mdmf_la &x, const mdmf_la &y)
mdmf_la operator+= (const mdmf_la &x, const mdmf_la &y)
mdmf_la operator-= (const mdmf_la &x, const mdmf_la &y)
ostream & operator<< (ostream &s, const mdmf_la &x)
template<>
bool doDestruction< PtrPQBasicKeyEIB > (const PtrPQBasicKeyEIB *)
template<>
bool doDestruction< PtrPlanarLeafKeyI > (const PtrPlanarLeafKeyI *)
template<>
bool doDestruction< PtrPQLeafKeyEWB > (const PtrPQLeafKeyEWB *)
template<>
bool doDestruction< PtrPlanarLeafKeyW > (const PtrPlanarLeafKeyW *)
ostream & operator<< (ostream &os, const RCCrossings &cr)

Variables

const int maxSizeInsertionSort = 40
const double pi = 3.1415926535897932384626433832795028841971
const double euler = 2.7182818284590452353602874713526624977572
MemoryManager g_memory
 The one and only memory manager instance.
const bool angleMaxBound = true
const bool angleMinBound = false
const int labelNum = 5


Detailed Description

The namespace for all OGDF objects.

Typedef Documentation

typedef AdjElement* ogdf::adjEntry

The type of adjacency entries.

Definition at line 372 of file Graph_d.h.

typedef ClusterElement* ogdf::cluster

The type of clusters.

Definition at line 192 of file ClusterGraph.h.

typedef EdgeElement* ogdf::edge

The type of edges.

Definition at line 371 of file Graph_d.h.

typedef long ogdf::edgeType

Definition at line 65 of file EdgeTypePatterns.h.

typedef FaceElement* ogdf::face

Definition at line 65 of file CombinatorialEmbedding.h.

typedef HashElement<String,int>* ogdf::GmlKey

Definition at line 69 of file GmlParser.h.

typedef HashElement<String,int> ogdf::HashedString

Definition at line 71 of file DinoXmlParser.h.

typedef labelStruct* ogdf::label

Definition at line 68 of file PlanarAugmentation.h.

typedef MemElem* ogdf::MemElemPtr

Definition at line 90 of file memory.h.

typedef NodeElement* ogdf::node

The type of nodes.

Definition at line 370 of file Graph_d.h.

typedef long ogdf::nodeType

Definition at line 67 of file NodeTypePatterns.h.

typedef PlanarLeafKey<indInfo*>* ogdf::PtrPlanarLeafKeyI

Definition at line 73 of file EmbedPQTree.h.

typedef PlanarLeafKey<whaInfo*>* ogdf::PtrPlanarLeafKeyW

Definition at line 84 of file PlanarSubgraphPQTree.h.

typedef PQBasicKey<edge,indInfo*,bool>* ogdf::PtrPQBasicKeyEIB

Definition at line 67 of file EmbedPQTree.h.

typedef PQLeafKey<edge,whaInfo*,bool>* ogdf::PtrPQLeafKeyEWB

Definition at line 79 of file PlanarSubgraphPQTree.h.

typedef HashElement<String,int>* ogdf::XmlKey

Definition at line 63 of file XmlObject.h.


Enumeration Type Documentation

enum ogdf::AlgorithmFailureCode

Code for an internal failure condition.

See also:
AlgorithmFailureException
Enumerator:
afcUnknown 
afcIllegalParameter  function parameter is illegal
afcNoFlow  min-cost flow could not find a legal flow
afcSort  sequence not sorted
afcLabel  labelling failed
afcExternalFace  external face not correct
afcForbiddenCrossing  crossing forbidden but necessary
afcTimelimitExceeded  it took too long
afcNoSolutionFound  couldn't solve the problem
afcSTOP 

Definition at line 121 of file exceptions.h.

enum ogdf::bend_type

edge types, defined by necessary bends

Enumerator:
bend_free 
bend_1left 
bend_1right 
bend_2left 
bend_2right 
prob_bf 
prob_b1l 
prob_b1r 
prob_b2l 
prob_b2r 

Definition at line 75 of file EdgeRouter.h.

enum ogdf::bendCost

Enumerator:
defaultCost 
topDownCost 
bottomUpCost 

Definition at line 70 of file ClusterOrthoShaper.h.

enum ogdf::BendType

Enumerator:
convexBend 
reflexBend 

Definition at line 73 of file OrthoRep.h.

enum ogdf::candStatus

Enumerator:
csAssigned 
csFIntersect 
csActive 
csUsed 

Definition at line 118 of file EdgeLabel.h.

enum ogdf::ConstraintEdgeType

Enumerator:
cetBasicArc 
cetVertexSizeArc 
cetVisibilityArc 
cetFixToZeroArc 
cetReducibleArc 
cetMedianArc 

Definition at line 72 of file CompactionConstraintGraph.h.

enum ogdf::Direction

Enumerator:
before 
after 

Definition at line 194 of file basic.h.

enum ogdf::eLabelTyp

Enumerator:
elEnd1 
elMult1 
elName 
elEnd2 
elMult2 

Definition at line 74 of file ELabelInterface.h.

enum ogdf::enumDirection

Directions for clockwise and counterclockwise traversal.

Enumerator:
CCW 
CW 

Definition at line 86 of file BoyerMyrvoldPlanar.h.

enum ogdf::enumEdgeType

Type of edge.

Parameters:
0 undefined
1 selfloop
2 backedge
3 DFS-edge
4 parallel DFS-edge
5 deleted backedge
Enumerator:
EDGE_UNDEFINED 
EDGE_SELFLOOP 
EDGE_BACK 
EDGE_DFS 
EDGE_DFS_PARALLEL 
EDGE_BACK_DELETED 

Definition at line 99 of file BoyerMyrvoldPlanar.h.

enum ogdf::eUsedLabels

Enumerator:
lName 
lEnd1 
lMult1 
lEnd2 
lMult2 
lAll 

Definition at line 75 of file ELabelInterface.h.

enum ogdf::FileType

The type of an entry in a directory.

Enumerator:
ftEntry  file or directory
ftFile  file
ftDirectory  directory

Definition at line 256 of file basic.h.

enum ogdf::GmlObjectType

Enumerator:
gmlIntValue 
gmlDoubleValue 
gmlStringValue 
gmlListBegin 
gmlListEnd 
gmlKey 
gmlEOF 
gmlError 

Definition at line 70 of file GmlParser.h.

enum ogdf::LibraryNotSupportedCode

Code for the library which was intended to get used, but its use is not supported.

See also:
LibraryNotSupportedException
Enumerator:
lnscUnknown 
lnscCoin  COIN not supported.
lnscAbacus  ABACUS not supported.
lnscFunctionNotImplemented  the used library doesn't support that function
lnscMissingCallbackImplementation 
lnscSTOP 

Definition at line 140 of file exceptions.h.

enum ogdf::OptionProfile

Enumerator:
standard 
minBendsperEdge 
fullService 

Definition at line 68 of file OrthoLayout.h.

enum ogdf::Orientation

Determines the orientation in hierarchical layouts.

Enumerator:
topToBottom  Edges are oriented from top to bottom.
bottomToTop  Edges are oriented from bottom to top.
leftToRight  Edges are oriented from left to right.
rightToLeft  Edges are oriented from right to left.

Definition at line 68 of file geometry.h.

enum ogdf::OrthoDir

Enumerator:
odNorth 
odEast 
odSouth 
odWest 
odUndefined 

Definition at line 78 of file OrthoRep.h.

enum ogdf::OutputParameter

Enumerator:
opStandard 
opOmitIntersect 
opOmitFIntersect 
opResult 

Definition at line 107 of file EdgeLabel.h.

enum ogdf::paStopCause

Enumerator:
paPlanarity 
paCDegree 
paBDegree 
paRoot 

Definition at line 64 of file PlanarAugmentation.h.

enum ogdf::PreconditionViolatedCode

Error code for a violated precondition.

See also:
PreconditionViolatedException
Enumerator:
pvcUnknown 
pvcSelfLoop  graph contains a self-loop
pvcTreeHierarchies  hierarchies are not only trees
pvcAcyclicHierarchies  hierarchies are not acyclic
pvcSingleSource  graph has not a single source
pvcUpwardPlanar  graph is not upward planar
pvcTree  graph is not a rooted tree
pvcForest  graph is not a rooted forest
pvcOrthogonal  layout is not orthogonal
pvcPlanar  graph is not planar
pvcClusterPlanar  graph is not c-planar
pvcNoCopy  graph is not a copy of the corresponding graph
pvcConnected  graph is not connected
pvcBiconnected  graph is not twoconnected
pvcSTOP 

Definition at line 98 of file exceptions.h.

enum ogdf::process_type

Enumerator:
unprocessed 
processed 
used 

Definition at line 79 of file EdgeRouter.h.

enum ogdf::SibDirection

Enumerator:
NODIR 
LEFT 
RIGHT 

Definition at line 90 of file PQNode.h.

enum ogdf::UMLEdgeTypeConstants

!!attention sign, 7fffffff

Enumerator:
etcPrimAssociation 
etcPrimGeneralization 
etcPrimDependency 
etcSecExpansion 
etcSecDissect 
etcSecFaceSplitter 
etcSecCluster 
etcSecClique 
etcMerger 
etcVertical 
etcAlign 
etcAssClass 
etcBrother 
etcHalfBrother 
etcCousin 
etcFifthToMerger 
etcFifthFromMerger 

Definition at line 72 of file EdgeTypePatterns.h.

enum ogdf::UMLEdgeTypeOffsets

Enumerator:
etoPrimary 
etoSecondary 
etoTertiary 
etoFourth 
etoFifth 
etoUser 

Definition at line 93 of file EdgeTypePatterns.h.

enum ogdf::UMLEdgeTypePatterns

Enumerator:
etpPrimary 
etpSecondary 
etpTertiary 
etpFourth 
etpUser 
etpAll 

Definition at line 67 of file EdgeTypePatterns.h.

enum ogdf::UMLNodeTypeConstants

!!attention sign, 7fffffff

Enumerator:
ntPrimOriginal 
ntPrimCopy 
ntSecStructural 
ntSecNonStructural 
ntTerCrossing 
ntTerExpander 
ntTerHDExpander 
ntTerLDExpander 
ntFourFlow 
ntFourLabel 
ntFourType 
ntFourCorner 

Definition at line 74 of file NodeTypePatterns.h.

enum ogdf::UMLNodeTypeOffsets

Enumerator:
ntoPrimary 
ntoSecondary 
ntoTertiary 
ntoFourth 
ntoFifth 
ntoUser 

Definition at line 93 of file NodeTypePatterns.h.

enum ogdf::UMLNodeTypePatterns

Enumerator:
ntpPrimary 
ntpSecondary 
ntpTertiary 
ntpFourth 
ntpUser 
ntpAll 

Definition at line 69 of file NodeTypePatterns.h.

enum ogdf::UMLOpt

Enumerator:
umlOpAlign 
umlOpScale 
umlOpProg 

Definition at line 69 of file LayoutPlanRepModule.h.

enum ogdf::whaType

The definitions for W_TYPE, B_TYPE, H_TYPE and A_TYPE describe the type of a node during the computation of the maximal pertinent sequence. A pertinent node X in the PQ-tree will be either of type B, W, A or H. Together with some other information stored at every node the pertinent leaves in the frontier of X that have to be deleted. For further description of the types see Jayakumar, Thulasiraman and Swamy 1989.

Enumerator:
W_TYPE 
B_TYPE 
H_TYPE 
A_TYPE 

Definition at line 75 of file whaInfo.h.

enum ogdf::XmlObjectType

Enumerator:
xmlIntValue 
xmlDoubleValue 
xmlStringValue 
xmlListBegin 
xmlListEnd 
xmlBody 
xmlKey 
xmlEOF 
xmlError 

Definition at line 64 of file XmlObject.h.

enum ogdf::XmlToken

This enum type represents the values, which are returned by the function DinoXmlScanner::getNextToken().

See also:
DinoXmlScanner::getNextToken()
Enumerator:
openingBracket  <
closingBracket  >
questionMark  ?
exclamationMark  !
minus 
slash  /
equalSign  =
identifier  (a..z|A..Z){(a..z|A..Z|0..9|.|_|:)}
attributeValue  a sequence of characters, digits, minus - and dot .
quotedValue  all quoted content " ... " or ' ... '
endOfFile  End of file detected.
invalidToken  No token identified.
noToken  Used for the m_lookAheadToken to indicate that there is no lookahead token

Definition at line 69 of file DinoXmlScanner.h.


Function Documentation

int ogdf::biconnectedComponents ( const Graph &  G,
EdgeArray< int > &  component 
)

Computes the biconnected components of G.

Assign component numbers 0, 1, ... The component number of each edge is stored in component.

Returns:
the number of biconnected components (including isolated nodes).

template<class E>
void ogdf::bucketSort ( Array< E > &  a,
int  min,
int  max,
BucketFunc< E > &  f 
) [inline]

Definition at line 1005 of file SList.h.

void ogdf::changeDir ( const char *  dirName  ) 

Changes current directory to dirName.

void ogdf::completeBipartiteGraph ( Graph &  G,
int  n,
int  m 
)

Creates t complete bipartite graph $K_{n,m}$.

Parameters:
G is assigned the generated graph.
n is the number of nodes of the first partition set.
m is the number of nodes of the second partition set.

void ogdf::completeGraph ( Graph &  G,
int  n 
)

Creates the complete graph $K_n$.

Parameters:
G is assigned the generated graph.
n is the number of nodes of the generated graph.

int ogdf::connectedComponents ( const Graph &  G,
NodeArray< int > &  component 
)

Computes the connected components of G.

Assign component numbers 0, 1, ... The component number of each node is stored in component.

Parameters:
G is the input graph.
component is assigned a mapping from nodes to component numbers.
Returns:
the number of connected components.

int ogdf::connectedIsolatedComponents ( const Graph &  G,
List< node > &  isolated,
NodeArray< int > &  component 
)

Computes the connected components of G.

Assign component numbers 0, 1, ... The component number of each node is stored in component.

Parameters:
G is the input graph.
isolated is assigned the list of isolated nodes. An isolated node is a node without adjacent edges.
component is assigned a mapping from nodes to component numbers.
Returns:
the number of connected components.

void ogdf::cubeGraph ( Graph &  G,
int  n 
)

Creates the graph $Q^n$: A n-cube graph.

Parameters:
G is assigned the generated graph.
n is the number of the cube's dimensions (n>=0).

bool ogdf::dfsGenTree ( UMLGraph &  UG,
List< edge > &  fakedGens,
bool  fakeTree 
)

Definition at line 127 of file precondition.h.

bool ogdf::dfsGenTreeRec ( UMLGraph &  UG,
EdgeArray< bool > &  used,
NodeArray< int > &  hierNumber,
int  hierNum,
node  v,
List< edge > &  fakedGens,
bool  fakeTree 
)

Definition at line 67 of file precondition.h.

bool ogdf::DIsEqual ( const double &  a,
const double &  b,
const double  eps = 1e-06 
) [inline]

Definition at line 79 of file geometry.h.

bool ogdf::DIsGreater ( const double &  a,
const double &  b,
const double  eps = 1e-06 
) [inline]

Definition at line 91 of file geometry.h.

bool ogdf::DIsGreaterEqual ( const double &  a,
const double &  b,
const double  eps = 1e-06 
) [inline]

Definition at line 85 of file geometry.h.

bool ogdf::DIsLess ( const double &  a,
const double &  b,
const double  eps = 1e-06 
) [inline]

Definition at line 103 of file geometry.h.

bool ogdf::DIsLessEqual ( const double &  a,
const double &  b,
const double  eps = 1e-06 
) [inline]

Definition at line 97 of file geometry.h.

template<>
bool ogdf::doDestruction ( const char *   )  [inline]

Definition at line 246 of file basic.h.

template<class E>
bool ogdf::doDestruction ( const E *   )  [inline]

doDestruction() returns false if a data type does not require to call its destructor (e.g. build-in data types).

Definition at line 243 of file basic.h.

template<>
bool ogdf::doDestruction< adjEntry > ( const adjEntry *   )  [inline]

template<>
bool ogdf::doDestruction< double > ( const double *   )  [inline]

template<>
bool ogdf::doDestruction< edge > ( const edge *   )  [inline]

template<>
bool ogdf::doDestruction< int > ( const int *   )  [inline]

template<>
bool ogdf::doDestruction< node > ( const node *   )  [inline]

template<>
bool ogdf::doDestruction< PtrPlanarLeafKeyI > ( const PtrPlanarLeafKeyI *   )  [inline]

template<>
bool ogdf::doDestruction< PtrPlanarLeafKeyW > ( const PtrPlanarLeafKeyW *   )  [inline]

template<>
bool ogdf::doDestruction< PtrPQBasicKeyEIB > ( const PtrPQBasicKeyEIB *   )  [inline]

template<>
bool ogdf::doDestruction< PtrPQLeafKeyEWB > ( const PtrPQLeafKeyEWB *   )  [inline]

double ogdf::DRound ( const double &  d,
int  prec = 0 
) [inline]

Definition at line 109 of file geometry.h.

edge ogdf::firstOutGen ( UMLGraph &  UG,
node  v,
EdgeArray< bool > &  used 
)

Definition at line 110 of file precondition.h.

void ogdf::getEntries ( const char *  dirName,
FileType  t,
List< String > &  entries,
const char *  pattern = "*" 
)

Returns in entries the list of all entries of type t contained in directory dirName.

The optional argument pattern can be used to filter files.

Precondition:
dirName is a directory

void ogdf::getEntries ( const char *  dirName,
List< String > &  entries,
const char *  pattern = "*" 
)

Returns in entries the list of all entries contained in directory dirName.

Entries may be files or directories. The optional argument pattern can be used to filter files.

Precondition:
dirName is a directory

void ogdf::getEntriesAppend ( const char *  dirName,
FileType  t,
List< String > &  entries,
const char *  pattern = "*" 
)

Appends to entries the list of all entries of type t contained in directory dirName.

The optional argument pattern can be used to filter files.

Precondition:
dirName is a directory

void ogdf::getEntriesAppend ( const char *  dirName,
List< String > &  entries,
const char *  pattern = "*" 
)

Appends to entries the list of all entries contained in directory dirName.

Entries may be files or directories. The optional argument pattern can be used to filter files.

Precondition:
dirName is a directory

void ogdf::getFiles ( const char *  dirName,
List< String > &  files,
const char *  pattern = "*" 
)

Returns in files the list of files in directory dirName.

The optional argument pattern can be used to filter files.

Precondition:
dirName is a directory

void ogdf::getFilesAppend ( const char *  dirName,
List< String > &  files,
const char *  pattern = "*" 
)

Appends to files the list of files in directory dirName.

The optional argument pattern can be used to filter files.

Precondition:
dirName is a directory

template<class EDGELIST>
void ogdf::getParallelFreeUndirected ( const Graph &  G,
EdgeArray< EDGELIST > &  parallelEdges 
) [inline]

Computes for each bundle of multi-edges the list of undirected multi-edges.

Stores for one (arbitrarily chosen) reference edge all its undirected mutli-edges of each bundle of undirected multi-edges ((v,w) and (w,v) are considered as the same edge); no edge is removed from the graph.

Definition at line 261 of file simple_graph_alg.h.

void ogdf::getSubdirs ( const char *  dirName,
List< String > &  subdirs,
const char *  pattern = "*" 
)

Returns in subdirs the list of directories contained in directory dirName.

The optional argument pattern can be used to filter files.

Precondition:
dirName is a directory

void ogdf::getSubdirsAppend ( const char *  dirName,
List< String > &  subdirs,
const char *  pattern = "*" 
)

Appends to subdirs the list of directories contained in directory dirName.

The optional argument pattern can be used to filter files.

Precondition:
dirName is a directory

bool ogdf::hasSingleSink ( const Graph &  G  )  [inline]

Definition at line 495 of file simple_graph_alg.h.

bool ogdf::hasSingleSink ( const Graph &  G,
node &  sink 
)

Returns true iff G contains exactly one sink node (or is empty).

Parameters:
G is the input graph.
sink is assigned the single sink if true is returned, or 0 otherwise.

bool ogdf::hasSingleSource ( const Graph &  G  )  [inline]

Returns true iff G contains exactly one source node (or is empty).

Definition at line 482 of file simple_graph_alg.h.

bool ogdf::hasSingleSource ( const Graph &  G,
node &  source 
)

Returns true iff G contains exactly one source node (or is empty).

Parameters:
G is the input graph.
source is assigned the single source if true is returned, or 0 otherwise.

template<class NODELISTITERATOR, class EDGELIST>
void ogdf::inducedSubgraph ( Graph &  G,
NODELISTITERATOR &  it,
EDGELIST &  E 
) [inline]

Definition at line 149 of file extended_graph_alg.h.

template<class LISTITERATOR>
void ogdf::inducedSubGraph ( const Graph &  G,
LISTITERATOR  start,
Graph &  subGraph,
NodeArray< node > &  nodeTableOrig2New,
EdgeArray< edge > &  edgeTableOrig2New 
) [inline]

Computes the induced subgraph of nodes.

Definition at line 110 of file extended_graph_alg.h.

template<class LISTITERATOR>
void ogdf::inducedSubGraph ( const Graph &  G,
LISTITERATOR  start,
Graph &  subGraph,
NodeArray< node > &  nodeTableOrig2New 
) [inline]

Computes the induced subgraph of nodes.

Definition at line 77 of file extended_graph_alg.h.

template<class LISTITERATOR>
void ogdf::inducedSubGraph ( const Graph &  G,
LISTITERATOR  start,
Graph &  subGraph 
) [inline]

Computes the induced subgraph of nodes.

Definition at line 69 of file extended_graph_alg.h.

bool ogdf::isAcyclic ( const Graph &  G  )  [inline]

Returns true iff G is acyclic.

Definition at line 442 of file simple_graph_alg.h.

bool ogdf::isAcyclic ( const Graph &  G,
List< edge > &  backedges 
)

Returns true if G is acyclic.

Parameters:
G is the input graph
backedges is assigned the backedges of a DFS-tree.

bool ogdf::isAcyclicUndirected ( const Graph &  G  )  [inline]

Returns true iff G is acyclic (undirected version).

Definition at line 455 of file simple_graph_alg.h.

bool ogdf::isAcyclicUndirected ( const Graph &  G,
List< edge > &  backedges 
)

Returns true if G is acyclic (undirected version).

Parameters:
G is the input graph
backedges is assigned the backedges of a DFS-tree.

bool ogdf::isBiconnected ( const Graph &  G  )  [inline]

Returns true iff G is biconnected.

Definition at line 364 of file simple_graph_alg.h.

bool ogdf::isBiconnected ( const Graph &  G,
node &  cutVertex 
)

Returns true if G is biconnected.

If false is returned, then cutVertex is assigned either 0 if G is not connected, or a cut vertex in G.

bool ogdf::isCConnected ( const ClusterGraph &  C  ) 

bool ogdf::isConnected ( const Graph &  G  ) 

Returns true iff G is connected.

bool ogdf::isDirectory ( const char *  fileName  ) 

Returns true iff fileName is a directory.

bool ogdf::isFile ( const char *  fileName  ) 

Returns true iff fileName is a regular file (not a directory).

bool ogdf::isForest ( const Graph &  G  )  [inline]

Returns true iff G represents a forest, i.e., a collection of rooted trees.

Definition at line 547 of file simple_graph_alg.h.

bool ogdf::isForest ( const Graph &  G,
List< node > &  roots 
)

Returns true iff G represents a forest, i.e., a collection of rooted trees.

Parameters:
G is the input graph.
roots is assigned the list of root nodes of the trees in the forest.

bool ogdf::isFreeForest ( const Graph &  G  ) 

Returns true iff G is a free forest, i.e., contains no undirect cycle.

bool ogdf::isLoopFree ( const Graph &  G  ) 

Returns true iff G contains no self-loop.

bool ogdf::isParallelFree ( const Graph &  G  ) 

Returns true iff G contains no multi-edges.

bool ogdf::isParallelFreeUndirected ( const Graph &  G  ) 

Returns true iff G contains neither multi-edges nor reversal edges.

bool ogdf::isSimple ( const Graph &  G  )  [inline]

Returns true iff G contains neither self-loops nor multi-edges.

Definition at line 287 of file simple_graph_alg.h.

bool ogdf::isSimpleUndirected ( const Graph &  G  )  [inline]

Returns true iff G contains neither self-loops nor undirected multi-edges.

Definition at line 300 of file simple_graph_alg.h.

bool ogdf::isStGraph ( const Graph &  G  )  [inline]

Returns true if G is an st-graph.

Definition at line 513 of file simple_graph_alg.h.

bool ogdf::isStGraph ( const Graph &  G,
node &  s,
node &  t,
edge &  st 
)

Returns true if G is an st-graph.

A directed graph is an st-graph if it is acyclic, contains exactly one source s and one sink t, and the edge (s,t).

Parameters:
G is the input graph.
s is assigned the single source (if true is returned).
t is assigned the single sink (if true is returned).
st is assigned the edge (s,t) (if true is returned).

bool ogdf::isTree ( const Graph &  G  )  [inline]

Returns true iff G represents a tree.

Definition at line 561 of file simple_graph_alg.h.

bool ogdf::isTree ( const Graph &  G,
node &  root 
)

Returns true iff G represents a tree.

Parameters:
G is the input graph.
root is assigned the root node (if true is returned).

bool ogdf::isTriconnected ( const Graph &  G  )  [inline]

Returns true iff G is triconnected.

Definition at line 401 of file simple_graph_alg.h.

bool ogdf::isTriconnected ( const Graph &  G,
node &  s1,
node &  s2 
)

Returns true iff G is triconnected.

If true is returned, then either

bool ogdf::isTriconnectedPrimitive ( const Graph &  G  )  [inline]

Returns true iff G is triconnected.

Warning:
This method has quadratic running time. An efficient linear time version is provided by isTriconnected().

Definition at line 424 of file simple_graph_alg.h.

bool ogdf::isTriconnectedPrimitive ( const Graph &  G,
node &  s1,
node &  s2 
)

Returns true iff G is triconnected.

If true is returned, then either

Warning:
This method has quadratic running time. An efficient linear time version is provided by isTriconnected().

bool ogdf::loadBenchHypergraph ( Graph &  G,
List< node > &  hypernodes,
List< edge > *  shell,
const char *  fileName 
)

Loads a hypergraph in the BENCH-format from the specified file.

Uses loadBenchHypergraphStream internally; see there for details.

bool ogdf::loadBenchHypergraphStream ( Graph &  G,
List< node > &  hypernodes,
List< edge > *  shell,
std::istream &  fileStream 
)

Loads a hypergraph in the BENCH-format from the given stream.

A hypergraph in OGDF is represented by its point-based expansion, i.e., for each hyperedge h we have a corresponding hypernode n. All nodes originally incident to h are incident to n, i.e., have regular edges to n.

G ... the graph into which we load the data hypernodes ... the list of nodes which have to be interpreted as hypernodes shell ... if null only the BENCH-hypergraph is loaded. Otherwise we extend the loaded graph by a simple edge e=(i,o) and two hyperedges: one hyperedges groups all input nodes and i together, the other hyperedge groups all output edges and o. These additional edges are then also collocated in shell.

Warning: this is a very simple implementation only usable for very properly formatted files!

bool ogdf::loadRomeGraph ( Graph &  G,
const char *  fileName 
)

Loads a graph in the Rome-Graph-format from the specified file.

Uses loadRomeGraphStream internally; see there for details.

bool ogdf::loadRomeGraphStream ( Graph &  G,
std::istream &  fileStream 
)

Loads a graph in the Rome-Graph-format from the given stream.

Warning: this is a very simple implementation only usable for very properly formatted files!

The format contains (in this order) n "node-lines", 1 "separator-line", m "edge-lines". These lines are as follows (whereby all IDs are integer numbers): "node-line": NodeId 0 "separator-line": starts with a #-sign "edge-line": EdgeId 0 SourceNodeId TargetNodeId

bool ogdf::loadYGraph ( Graph &  G,
FILE *  lineStream 
)

Loads a graph in the Y-graph-format from the given stream (one line).

This format is e.g. produced by NAUTY (http://www.cs.sunysb.edu/~algorith/implement/nauty/implement.shtml)

Details on the format, as given in NAUTYs graph generator (see above link): "[A] graph occupies one line with a terminating newline. Except for the newline, each byte has the format 01xxxxxx, where each "x" represents one bit of data.

First byte: xxxxxx is the number of vertices n

Other ceiling(n(n-1)/12) bytes: These contain the upper triangle of the adjacency matrix in column major order. That is, the entries appear in the order (0,1),(0,2),(1,2),(0,3),(1,3),(2,3),(0,4),... . The bits are used in left to right order within each byte. Any unused bits on the end are set to zero.

int ogdf::localtime ( struct tm *  ptm,
const time_t *  timer 
) [inline]

Definition at line 562 of file basic.h.

void ogdf::makeAcyclic ( Graph &  G  ) 

Makes G acyclic by removing edges.

The implementation removes all backedges of a DFS tree.

void ogdf::makeAcyclicByReverse ( Graph &  G  ) 

Makes G acyclic by reversing edges.

Remarks:
The implementation ignores self-loops and reverses the backedges of a DFS-tree.

void ogdf::makeBiconnected ( Graph &  G  )  [inline]

Makes G biconnected by adding edges.

Definition at line 377 of file simple_graph_alg.h.

void ogdf::makeBiconnected ( Graph &  G,
List< edge > &  added 
)

Makes G biconnected by adding edges.

Parameters:
G is the input graph.
added is assigned the list of inserted edges.

void ogdf::makeCConnected ( ClusterGraph &  C,
Graph &  GG,
List< edge > &  addedEdges,
bool  simple = true 
)

void ogdf::makeConnected ( Graph &  G  )  [inline]

makes G connected by adding a minimum number of edges.

Definition at line 327 of file simple_graph_alg.h.

void ogdf::makeConnected ( Graph &  G,
List< edge > &  added 
)

Makes G connected by adding a minimum number of edges.

Parameters:
G is the input graph.
added is assigned the added edges.

void ogdf::makeLoopFree ( Graph &  G  ) 

Removes all self-loops from G.

template<class NODELIST>
void ogdf::makeLoopFree ( Graph &  G,
NODELIST &  L 
) [inline]

Removes all self-loops from G and returns all nodes with self-loops in L.

Definition at line 74 of file simple_graph_alg.h.

void ogdf::makeParallelFree ( Graph &  G  )  [inline]

Removes all but one edge of each bundle of multi-edges in G.

Definition at line 136 of file simple_graph_alg.h.

template<class EDGELIST>
void ogdf::makeParallelFree ( Graph &  G,
EDGELIST &  parallelEdges 
) [inline]

Removes all but one of each bundle of multi-edges.

Parameters:
G is the input graph.
parallelEdges is assigned the list of remaining edges in G that were part of a bundle of mullti-edges in the input graph.

Definition at line 112 of file simple_graph_alg.h.

template<class EDGELIST>
void ogdf::makeParallelFreeUndirected ( Graph &  G,
EDGELIST &  parallelEdges,
EdgeArray< int > &  cardPositive,
EdgeArray< int > &  cardNegative 
) [inline]

Removes all but one of each bundle of undirected multi-edges.

Undirected means that edges (v,w) and (w,v) are considered as mutli-edges.

Parameters:
G is the input graph.
parallelEdges is assigned the list of remaining edges that were part of a bundle of multi-edges in the input graph.
cardPositive contains for each edge the number of removed multi-edges pointing in the same direction.
cardNegative contains for each edge the number of removed multi-edges pointing in the opposite direction.

Definition at line 213 of file simple_graph_alg.h.

void ogdf::makeParallelFreeUndirected ( Graph &  G  )  [inline]

Removes all but one of each bundle of undirected multi-edges.

Undirected means that edges (v,w) and (w,v) are considered as mutli-edges.

Definition at line 189 of file simple_graph_alg.h.

template<class EDGELIST>
void ogdf::makeParallelFreeUndirected ( Graph &  G,
EDGELIST &  parallelEdges 
) [inline]

Removes all but one of each bundle of undirected multi-edges.

Undirected means that edges (v,w) and (w,v) are considered as mutli-edges.

Parameters:
G is the input graph.
parallelEdges is assigned the list of remaining edges that were part of a bundle of multi-edges in the input graph.

Definition at line 161 of file simple_graph_alg.h.

void ogdf::makeSimple ( Graph &  G  )  [inline]

Removes all self-loops and all but one edge of each bundle of multi-edges.

Definition at line 292 of file simple_graph_alg.h.

void ogdf::makeSimpleUndirected ( Graph &  G  )  [inline]

Removes all self-loops and all but one edge of each bundle of undirected multi-edges.

Definition at line 305 of file simple_graph_alg.h.

template<class T>
T ogdf::max ( const T &  x,
const T &  y 
) [inline]

Returns maximum of x and y.

Definition at line 213 of file basic.h.

template<class T>
T ogdf::min ( const T &  x,
const T &  y 
) [inline]

Returns minimum of x and y.

Definition at line 207 of file basic.h.

int ogdf::numParallelEdges ( const Graph &  G  ) 

Returns the number of multi-edges in G.

int ogdf::numParallelEdgesUndirected ( const Graph &  G  ) 

return the number of multi- and reversal edges.

bool ogdf::operator!= ( const mdmf_la &  x,
const mdmf_la &  y 
)

template<class E1, class E2, class E3, class E4>
bool ogdf::operator!= ( const Tuple4< E1, E2, E3, E4 > &  t1,
const Tuple4< E1, E2, E3, E4 > &  t2 
) [inline]

Inequality operator for 4-tuples.

Definition at line 225 of file tuples.h.

template<class E1, class E2, class E3>
bool ogdf::operator!= ( const Tuple3< E1, E2, E3 > &  t1,
const Tuple3< E1, E2, E3 > &  t2 
) [inline]

Inequality operator for 3-tuples.

Definition at line 161 of file tuples.h.

template<class E1, class E2>
bool ogdf::operator!= ( const Tuple2< E1, E2 > &  t1,
const Tuple2< E1, E2 > &  t2 
) [inline]

Inequality operator for 2-tuples.

Definition at line 103 of file tuples.h.

mdmf_la ogdf::operator+ ( const mdmf_la &  x,
const mdmf_la &  y 
)

mdmf_la ogdf::operator+= ( const mdmf_la &  x,
const mdmf_la &  y 
)

mdmf_la ogdf::operator- ( const mdmf_la &  x,
const mdmf_la &  y 
)

mdmf_la ogdf::operator-= ( const mdmf_la &  x,
const mdmf_la &  y 
)

bool ogdf::operator< ( const mdmf_la &  x,
const mdmf_la &  y 
)

ostream& ogdf::operator<< ( ostream &  os,
const RCCrossings &  cr 
)

ostream& ogdf::operator<< ( ostream &  s,
const mdmf_la &  x 
)

ostream& ogdf::operator<< ( ostream &  O,
const NodeInfo &  inf 
)

ostream& ogdf::operator<< ( ostream &  os,
const DinoXmlParser &  parser 
)

Output operator for DinoXmlParser.

ostream& ogdf::operator<< ( ostream &  os,
const DinoUmlModelGraph &  modelGraph 
)

Output operator for DinoUmlModelGraph.

ostream& ogdf::operator<< ( ostream &  os,
const DinoUmlDiagramGraph &  diagramGraph 
)

Output operator for DinoUmlDiagramGraph.

ostream& ogdf::operator<< ( ostream &  os,
ogdf::cluster  c 
)

template<class E1, class E2, class E3, class E4>
ostream& ogdf::operator<< ( ostream &  os,
const Tuple4< E1, E2, E3, E4 > &  t4 
) [inline]

Output operator for 4-tuples.

Definition at line 233 of file tuples.h.

template<class E1, class E2, class E3>
ostream& ogdf::operator<< ( ostream &  os,
const Tuple3< E1, E2, E3 > &  t3 
) [inline]

Output operator for 3-tuples.

Definition at line 168 of file tuples.h.

template<class E1, class E2>
ostream& ogdf::operator<< ( ostream &  os,
const Tuple2< E1, E2 > &  t2 
) [inline]

Output operator for 2-tuples.

Definition at line 110 of file tuples.h.

ostream& ogdf::operator<< ( ostream &  os,
const String &  str 
) [inline]

Output operator for strings.

Definition at line 223 of file String.h.

template<class E>
ostream& ogdf::operator<< ( ostream &  os,
const Stack< E > &  S 
) [inline]

Definition at line 199 of file Stack.h.

template<class E>
ostream& ogdf::operator<< ( ostream &  os,
const StackPure< E > &  S 
) [inline]

Definition at line 193 of file Stack.h.

template<class E>
ostream& ogdf::operator<< ( ostream &  os,
const SList< E > &  L 
) [inline]

Definition at line 996 of file SList.h.

template<class E>
ostream& ogdf::operator<< ( ostream &  os,
const SListPure< E > &  L 
) [inline]

Definition at line 989 of file SList.h.

template<class E>
ostream& ogdf::operator<< ( ostream &  os,
const Queue< E > &  Q 
) [inline]

Definition at line 224 of file Queue.h.

template<class E>
ostream& ogdf::operator<< ( ostream &  os,
const QueuePure< E > &  Q 
) [inline]

Definition at line 218 of file Queue.h.

template<class E>
ostream& ogdf::operator<< ( ostream &  os,
const List< E > &  L 
) [inline]

Definition at line 1607 of file List.h.

template<class E>
ostream& ogdf::operator<< ( ostream &  os,
const ListPure< E > &  L 
) [inline]

Definition at line 1599 of file List.h.

ostream& ogdf::operator<< ( ostream &  os,
ogdf::adjEntry  adj 
)

Output operator for adjacency entries; prints node and twin indices (or "nil").

ostream& ogdf::operator<< ( ostream &  os,
ogdf::edge  e 
)

Output operator for edges; prints source and target indices (or "nil").

ostream& ogdf::operator<< ( ostream &  os,
ogdf::node  v 
)

Output operator for nodes; prints node index (or "nil").

ostream& ogdf::operator<< ( ostream &  os,
const DPolygon &  dop 
)

Output operator for polygons.

ostream& ogdf::operator<< ( ostream &  os,
const DScaler &  ds 
)

Output operator for scalers.

ostream& ogdf::operator<< ( ostream &  os,
const DRect &  dr 
)

Output operator for rectangles.

ostream& ogdf::operator<< ( ostream &  os,
const DLine &  dl 
)

Output operator for lines.

ostream& ogdf::operator<< ( ostream &  os,
const DPoint &  dp 
)

Output operator for integer points.

ostream& ogdf::operator<< ( ostream &  os,
const IPoint &  ip 
)

Output operator for integer points.

template<class E, class INDEX>
ostream& ogdf::operator<< ( ostream &  os,
const BoundedStack< E, INDEX > &  S 
) [inline]

Definition at line 209 of file BoundedStack.h.

template<class E, class INDEX>
ostream& ogdf::operator<< ( ostream &  os,
const BoundedQueue< E, INDEX > &  Q 
) [inline]

Definition at line 203 of file BoundedQueue.h.

template<class E, class INDEX>
ostream& ogdf::operator<< ( ostream &  os,
const ogdf::Array< E, INDEX > &  a 
) [inline]

Definition at line 767 of file Array.h.

bool ogdf::operator<= ( const mdmf_la &  x,
const mdmf_la &  y 
)

bool ogdf::operator== ( const mdmf_la &  x,
const mdmf_la &  y 
)

template<class E1, class E2, class E3, class E4>
bool ogdf::operator== ( const Tuple4< E1, E2, E3, E4 > &  t1,
const Tuple4< E1, E2, E3, E4 > &  t2 
) [inline]

Equality operator for 4-tuples.

Definition at line 217 of file tuples.h.

template<class E1, class E2, class E3>
bool ogdf::operator== ( const Tuple3< E1, E2, E3 > &  t1,
const Tuple3< E1, E2, E3 > &  t2 
) [inline]

Equality operator for 3-tuples.

Definition at line 154 of file tuples.h.

template<class E1, class E2>
bool ogdf::operator== ( const Tuple2< E1, E2 > &  t1,
const Tuple2< E1, E2 > &  t2 
) [inline]

Equality operator for 2-tuples.

Definition at line 96 of file tuples.h.

bool ogdf::operator> ( const mdmf_la &  x,
const mdmf_la &  y 
)

bool ogdf::operator>= ( const mdmf_la &  x,
const mdmf_la &  y 
)

void ogdf::parallelFreeSort ( const Graph &  G,
SListPure< edge > &  edges 
)

void ogdf::parallelFreeSortUndirected ( const Graph &  G,
SListPure< edge > &  edges,
EdgeArray< int > &  minIndex,
EdgeArray< int > &  maxIndex 
)

void ogdf::planarBiconnectedGraph ( Graph &  G,
int  n,
int  m,
bool  multiEdges = false 
)

Creates a planar biconnected (embedded) graph.

Parameters:
G is assigned the generated graph.
n is the number of nodes of the generated graph.
m is the number of edges of the generated graph.
multiEdges determines if the generated graph may contain multi-edges.

void ogdf::planarCNBGraph ( Graph &  G,
int  n,
int  m,
int  b 
)

Creates a planar graph, that is connected, but not biconnected.