|  | 
|  | PlanRepInc (const UMLGraph &UG) | 
|  | Constructor for interactive updates (parts added step by step) 
 | 
|  | 
|  | PlanRepInc (const UMLGraph &UG, const NodeArray< bool > &fixed) | 
|  | Constructor for incremental updates (whole graph already given). The part to stay fixed has fixed value set to true. 
 | 
|  | 
| void | activateEdge (edge e) | 
|  | Sets activity status to true and updates the structures. 
 | 
|  | 
| void | activateNode (node v) | 
|  | Sets activity status to true and updates the structures. Node activation activates all adjacent edges. 
 | 
|  | 
| int & | componentNumber (node v) | 
|  | Component number. 
 | 
|  | 
| adjEntry | getExtAdj (GraphCopy &GC, CombinatorialEmbedding &E) | 
|  | 
| void | getExtAdjs (List< adjEntry > &extAdjs) | 
|  | Sets a list of adjentries on "external" faces of unconnected active parts of the current CC. 
 | 
|  | 
| void | initActiveCC (int i) | 
|  | Inits a CC only with active elements. 
 | 
|  | 
| node | initMinActiveCC (int i) | 
|  | Inits a CC with at least one active node, makes a node active if necessary and returns it. Returns nullptr otherwise. 
 | 
|  | 
| bool | makeTreeConnected (adjEntry adjExternal) | 
|  | Handles copies of original CCs that are split into unconnected parts of active nodes by connecting them tree-like, adding necessary edges at "external" nodes of the partial CCs. Note that this only makes sense when the CC parts are already correctly embedded. 
 | 
|  | 
| bool & | treeEdge (edge e) | 
|  | 
| edge | treeEdge (int i, int j) const | 
|  | 
| bool | treeInit () | 
|  | 
|  | 
| virtual void | nodeDeleted (node v) override | 
|  | In the case that the underlying incremental structure changes, we update this copy. 
 | 
|  | 
| virtual void | nodeAdded (node v) override | 
|  | Called by watched graph after a node has been added. 
 | 
|  | 
| virtual void | edgeDeleted (edge e) override | 
|  | Called by watched graph just before an edge is deleted. 
 | 
|  | 
| virtual void | edgeAdded (edge e) override | 
|  | Called by watched graph after an edge has been added. 
 | 
|  | 
| virtual void | cleared () override | 
|  | Called by watched graph when its clear function is called, just before things are removed. 
 | 
|  | 
|  | 
| void | deleteTreeConnection (int i, int j) | 
|  | Deletes an edge again. 
 | 
|  | 
| void | deleteTreeConnection (int i, int j, CombinatorialEmbedding &E) | 
|  | 
|  | 
| virtual edge | split (edge e) override | 
|  | Splits edge e, can be removed when edge status in edgetype m_treedge can be removed afterwards. 
 | 
|  | 
| void | writeGML (const char *fileName) | 
|  | 
| void | writeGML (const char *fileName, const Layout &drawing) | 
|  | 
| void | writeGML (std::ostream &os, const GraphAttributes &AG) | 
|  | 
| void | writeGML (std::ostream &os, const Layout &drawing, bool colorEmbed=true) | 
|  | 
| int | genusLayout (Layout &drawing) const | 
|  | 
|  | ~PlanRepUML () | 
|  | Deconstruction. 
 | 
|  | 
| bool | faceSplitter (edge e) const | 
|  | Returns true if an edge splits a face into two subfaces to guarantee generalizations to be on opposite sides of a node. 
 | 
|  | 
| const UMLGraph & | getUMLGraph () const | 
|  | 
| void | initCC (int i) | 
|  | 
| void | removeFaceSplitter () | 
|  | Removes all face splitting edges. 
 | 
|  | 
|  | PlanRepUML (const UMLGraph ¨Graph) | 
|  | Construction. 
 | 
|  | 
|  | PlanRepUML (const GraphAttributes &GA) | 
|  | 
| void | setupIncremental (int indexCC, CombinatorialEmbedding &E) | 
|  | Initializes incremental stuff, e.g. insert incremental mergers. 
 | 
|  | 
| const SList< node > & | incrementalMergers (int indexCC) const | 
|  | Returns the list of inserted incremental mergers. 
 | 
|  | 
| bool | alignUpward (adjEntry ae) | 
|  | 
| void | alignUpward (adjEntry ae, bool b) | 
|  | 
| node | insertGenMerger (node v, const SList< edge > &inGens, CombinatorialEmbedding &E) | 
|  | Inserts a generalization merge node for all incoming generalizations of vand returns its conserving embedding.
 | 
|  | 
| void | expand (bool lowDegreeExpand=false) override | 
|  | Expands nodes with degree > 4 and merge nodes for generalizations. 
 | 
|  | 
| void | expandLowDegreeVertices (OrthoRep &OR, bool alignSmallDegree=false) | 
|  | Expands nodes with degree <= 4 and aligns opposite edges at degree 2 nodes. 
 | 
|  | 
| void | collapseVertices (const OrthoRep &OR, Layout &drawing) | 
|  | 
| void | writeGML (const char *fileName, const Layout &drawing) | 
|  | Writes attributed graph in GML format to file fileName(for debugging only)
 | 
|  | 
| void | writeGML (const char *fileName) | 
|  | 
| void | writeGML (const char *fileName, GraphAttributes &AG) | 
|  | 
| void | writeGML (std::ostream &os, const Layout &drawing) | 
|  | Writes attributed graph in GML format to output stream os(for debugging only)
 | 
|  | 
| void | writeGML (const char *fileName, const OrthoRep &OR, const Layout &drawing) | 
|  | 
| void | writeGML (std::ostream &os, const OrthoRep &OR, const Layout &drawing) | 
|  | 
| void | writeGML (const char *fileName, const OrthoRep &OR, const GridLayoutMapped &drawing) | 
|  | 
| void | writeGML (std::ostream &os, const OrthoRep &OR, const GridLayoutMapped &drawing) | 
|  | 
| void | writeGML (const char *fileName, const OrthoRep &OR, const GridLayout &drawing) | 
|  | 
| void | writeGML (std::ostream &os, const OrthoRep &OR, const GridLayout &drawing) | 
|  | 
|  | PlanRep (const Graph &G) | 
|  | Creates a planarized representation of graph G.
 | 
|  | 
|  | PlanRep (const GraphAttributes &AG) | 
|  | Creates a planarized representation of graph AG.
 | 
|  | 
| int | numberOfCCs () const | 
|  | Returns the number of connected components in the original graph. 
 | 
|  | 
| int | currentCC () const | 
|  | Returns the index of the current connected component (-1 if not yet initialized). 
 | 
|  | 
| const CCsInfo & | ccInfo () const | 
|  | Returns the connected components info structure. 
 | 
|  | 
| int | numberOfNodesInCC () const | 
|  | Returns the number of nodes in the current connected component. 
 | 
|  | 
| int | numberOfNodesInCC (int cc) const | 
|  | Returns the number of nodes in connected component cc.
 | 
|  | 
| node | v (int i) const | 
|  | Returns node iin the list of all original nodes.
 | 
|  | 
| edge | e (int i) const | 
|  | Returns edge iin the list of all original edges.
 | 
|  | 
| int | startNode () const | 
|  | Returns the index of the first node in this connected component. 
 | 
|  | 
| int | startNode (int cc) const | 
|  | Returns the index of the first node in connected component cc.
 | 
|  | 
| int | stopNode () const | 
|  | Returns the index of (one past) the last node in this connected component. 
 | 
|  | 
| int | stopNode (int cc) const | 
|  | Returns the index of (one past) the last node in connected component cc.
 | 
|  | 
| int | startEdge () const | 
|  | Returns the index of the first edge in this connected component. 
 | 
|  | 
| int | stopEdge () const | 
|  | Returns the index of (one past) the last edge in this connected component. 
 | 
|  | 
| void | initCC (int cc) | 
|  | Initializes the planarized representation for connected component cc.
 | 
|  | 
| adjEntry | expandAdj (node v) const | 
|  | Returns the adjacency entry of a node of an expanded face. 
 | 
|  | 
| adjEntry & | expandAdj (node v) | 
|  | 
| adjEntry | boundaryAdj (node v) const | 
|  | Returns the adjacency entry of the first edge of the inserted boundary at a center node (original) of a clique, 0 if no boundary exists. 
 | 
|  | 
| adjEntry & | boundaryAdj (node v) | 
|  | Returns a reference to the adjacency entry of the first edge of the inserted boundary at a center node (original) of a clique, 0 if no boundary exists. 
 | 
|  | 
| void | setCliqueBoundary (edge e) | 
|  | 
| bool | isCliqueBoundary (edge e) const | 
|  | 
| Graph::NodeType | typeOf (node v) const | 
|  | Returns the type of node v.
 | 
|  | 
| Graph::NodeType & | typeOf (node v) | 
|  | Returns a reference to the type of node v.
 | 
|  | 
| bool | isVertex (node v) const | 
|  | Returns true if the node represents a "real" object in the original graph. 
 | 
|  | 
| nodeType | nodeTypeOf (node v) | 
|  | Returns the extended node type of v.
 | 
|  | 
| void | setCrossingType (node v) | 
|  | Classifies node vas a crossing.
 | 
|  | 
| bool | isCrossingType (node v) const | 
|  | Returns true iff node vis classified as a crossing.
 | 
|  | 
| EdgeType | typeOf (edge e) const | 
|  | Returns the type of edge e.
 | 
|  | 
| EdgeType & | typeOf (edge e) | 
|  | Returns a reference to the type of edge e.
 | 
|  | 
| edgeType & | oriEdgeTypes (edge e) | 
|  | Returns a reference to the type of original edge e.
 | 
|  | 
| edgeType | edgeTypeOf (edge e) const | 
|  | Returns the new type field of e.
 | 
|  | 
| edgeType & | edgeTypes (edge e) | 
|  | Returns a reference to the new type field of e.
 | 
|  | 
| void | setEdgeTypeOf (edge e, edgeType et) | 
|  | Sets the new type field of edge etoet.
 | 
|  | 
| void | setType (edge e, EdgeType et) | 
|  | Set both type values of eat once.
 | 
|  | 
| bool | isGeneralization (edge e) const | 
|  | Returns true iff edge eis classified as generalization.
 | 
|  | 
| void | setGeneralization (edge e) | 
|  | Classifies edge eas generalization (primary type).
 | 
|  | 
| bool | isDependency (edge e) const | 
|  | Returns true iff edge eis classified as dependency.
 | 
|  | 
| void | setDependency (edge e) | 
|  | Classifies edge eas dependency (primary type).
 | 
|  | 
| void | setAssociation (edge e) | 
|  | Classifies edge eas association (primary type).
 | 
|  | 
| void | setExpansion (edge e) | 
|  | Classifies edge eas expansion edge (secondary type).
 | 
|  | 
| bool | isExpansion (edge e) const | 
|  | Returns true iff edge eis classified as expansion edge.
 | 
|  | 
| bool | isBoundary (edge e) const | 
|  | Returns true iff edge eis a clique boundary.
 | 
|  | 
| void | setAssClass (edge e) | 
|  | Classifies edge eas connection at an association class (tertiary type).
 | 
|  | 
| bool | isAssClass (edge e) const | 
|  | Returns true iff edge eis classified as connection at an association class.
 | 
|  | 
| void | setBrother (edge e) | 
|  | Classifies edge eas connection between hierarchy neighbours (fourth level type).
 | 
|  | 
| void | setHalfBrother (edge e) | 
|  | Classifies edge eas connection between ... (fourth level type).
 | 
|  | 
| bool | isBrother (edge e) const | 
|  | Returns true if edge eis classified as brother.
 | 
|  | 
| bool | isHalfBrother (edge e) const | 
|  | Returns true if edge eis classified as half-brother.
 | 
|  | 
| edgeType | edgeTypeAND (edge e, edgeType et) | 
|  | Sets type of edge eto current type (bitwise) ANDet.
 | 
|  | 
| edgeType | edgeTypeOR (edge e, edgeType et) | 
|  | Sets type of edge eto current type (bitwise) ORet.
 | 
|  | 
| void | setPrimaryType (edge e, edgeType et) | 
|  | Sets primary edge type of edge eto primary edge type inet(deletes old primary value).
 | 
|  | 
| void | setPrimaryType (edge e, UMLEdgeTypeConstants et) | 
|  | Sets primary edge type of edge eto primary edge type inet(deletes old primary value).
 | 
|  | 
| void | setSecondaryType (edge e, edgeType et) | 
|  | Sets secondary edge type of edge eto primary edge type inet.
 | 
|  | 
| edgeType | edgeTypePrimaryAND (edge e, edgeType et) | 
|  | Sets primary type of eto bitwise AND ofet'sprimary value and old value.
 | 
|  | 
| edgeType | edgeTypePrimaryOR (edge e, edgeType et) | 
|  | Sets primary type of eto bitwise OR ofet'sprimary value and old value.
 | 
|  | 
| void | setUserType (edge e, edgeType et) | 
|  | Sets user defined type locally. 
 | 
|  | 
| bool | isUserType (edge e, edgeType et) const | 
|  | Returns user defined type. 
 | 
|  | 
| void | setExpansionEdge (edge e, int expType) | 
|  | Sets the expansion edge type of etoexpType.
 | 
|  | 
| bool | isExpansionEdge (edge e) const | 
|  | Returns if eis an expansion edge.
 | 
|  | 
| int | expansionType (edge e) const | 
|  | Returns the expansion edge type of e.
 | 
|  | 
| bool | isDegreeExpansionEdge (edge e) const | 
|  | Returns if eis a degree expansion edge.
 | 
|  | 
| const NodeArray< double > & | widthOrig () const | 
|  | Gives access to the node array of the widths of original nodes. 
 | 
|  | 
| double | widthOrig (node v) const | 
|  | Returns the width of original node v.
 | 
|  | 
| const NodeArray< double > & | heightOrig () const | 
|  | Gives access to the node array of the heights of original nodes. 
 | 
|  | 
| double | heightOrig (node v) const | 
|  | Returns the height of original node v.
 | 
|  | 
| EdgeType | typeOrig (edge e) const | 
|  | Returns the type of original edge e.
 | 
|  | 
| const GraphAttributes & | getGraphAttributes () const | 
|  | Returns the graph attributes of the original graph (the pointer may be 0). 
 | 
|  | 
| void | expandLowDegreeVertices (OrthoRep &OR) | 
|  | 
| void | collapseVertices (const OrthoRep &OR, Layout &drawing) | 
|  | 
| void | collapseVertices (const OrthoRep &OR, GridLayout &drawing) | 
|  | 
| void | removeCrossing (node v) | 
|  | 
| void | insertBoundary (node center, adjEntry &adjExternal) | 
|  | 
| node | expandedNode (node v) const | 
|  | 
| void | setExpandedNode (node v, node w) | 
|  | 
| node | newCopy (node vOrig, Graph::NodeType vType) | 
|  | Creates a new node with node type vTypein the planarized representation.
 | 
|  | 
| edge | newCopy (node v, adjEntry adjAfter, edge eOrig) | 
|  | Creates a new edge in the planarized representation. 
 | 
|  | 
| edge | newCopy (node v, adjEntry adjAfter, edge eOrig, CombinatorialEmbedding &E) | 
|  | Creates a new edge in the planarized representation while updating the embedding E.
 | 
|  | 
| void | insertEdgePath (edge eOrig, const SList< adjEntry > &crossedEdges) | 
|  | Re-inserts edge eOrigby "crossing" the edges incrossedEdges.
 | 
|  | 
| void | insertEdgePathEmbedded (edge eOrig, CombinatorialEmbedding &E, const SList< adjEntry > &crossedEdges) | 
|  | Same as insertEdgePath, but for embedded graphs. 
 | 
|  | 
| void | removeEdgePathEmbedded (CombinatorialEmbedding &E, edge eOrig, FaceSet &newFaces) | 
|  | Removes the complete edge path for edge eOrigwhile preserving the embedding.
 | 
|  | 
| edge | insertCrossing (edge &crossingEdge, edge crossedEdge, bool topDown) | 
|  | Inserts crossings between two copy edges. 
 | 
|  | 
| void | removeDeg1Nodes (ArrayBuffer< Deg1RestoreInfo > &S, const NodeArray< bool > &mark) | 
|  | Removes all marked degree-1 nodes from the graph copy and stores restore information in S.
 | 
|  | 
| void | restoreDeg1Nodes (ArrayBuffer< Deg1RestoreInfo > &S, List< node > °1s) | 
|  | Restores degree-1 nodes previously removed with removeDeg1Nodes(). 
 | 
|  | 
|  | GraphCopy () | 
|  | 
|  | GraphCopy (const Graph &G) | 
|  | 
|  | GraphCopy (const Graph *G) | 
|  | 
|  | GraphCopy (const GraphCopy &other) | 
|  | 
| void | clear () override | 
|  | Removes all nodes and edges from this copy but does not break the link with the original graph. 
 | 
|  | 
| GraphCopy & | operator= (const GraphCopy &other) | 
|  | 
| void | setOriginalGraph (const Graph &G) | 
|  | Re-initializes the copy using G, but does not create any nodes or edges.
 | 
|  | 
| void | setOriginalGraph (const Graph *G) override | 
|  | Associates the graph copy with G, but does not create any nodes or edges.
 | 
|  | 
| virtual void | setOriginalGraph (const Graph *G)=0 | 
|  | Re-initializes the copy using G(which might be null), but does not create any nodes or edges.
 | 
|  | 
| const List< edge > & | chain (edge e) const | 
|  | Returns the list of edges coresponding to edge e.
 | 
|  | 
| edge | copy (edge e) const override | 
|  | Returns the first edge in the list of edges corresponding to edge e.
 | 
|  | 
| adjEntry | copy (adjEntry adj) const override | 
|  | Returns the adjacency entry in the copy graph corresponding to adj.
 | 
|  | 
| bool | isReversed (edge e) const | 
|  | Returns true iff edge ehas been reversed.
 | 
|  | 
| bool | isReversedCopyEdge (edge e) const | 
|  | Returns true iff eis reversed w.r.t.
 | 
|  | 
| node | copy (node v) const | 
|  | Returns the node in the graph copy corresponding to v.
 | 
|  | 
| virtual edge | copy (edge e) const=0 | 
|  | Returns the edge in the graph copy corresponding to e.
 | 
|  | 
| virtual adjEntry | copy (adjEntry adj) const=0 | 
|  | Returns the adjacency entry in the graph copy corresponding to adj.
 | 
|  | 
| void | delEdge (edge e) override | 
|  | Removes edge e and clears the list of edges corresponding to e'soriginal edge.
 | 
|  | 
| void | unsplit (edge eIn, edge eOut) override | 
|  | Undoes a previous split operation. 
 | 
|  | 
| edge | newEdge (edge eOrig) | 
|  | Creates a new edge (v,w) with original edge eOrig. 
 | 
|  | 
| void | setEdge (edge eOrig, edge eCopy) | 
|  | sets eOrig to be the corresponding original edge of eCopy and vice versa 
 | 
|  | 
| void | setOriginalEmbedding () override | 
|  | Sets the embedding of the graph copy to the embedding of the original graph. 
 | 
|  | 
| void | removePseudoCrossings () | 
|  | Removes all crossing nodes which are actually only two "touching" edges. 
 | 
|  | 
| bool | hasSameEdgesCrossings () const | 
|  | Returns whether there are two edges in the GraphCopy that cross each other multiple times. 
 | 
|  | 
| bool | hasAdjacentEdgesCrossings () const | 
|  | Returns whether the GraphCopy contains at least one crossing of two adjacent edges. 
 | 
|  | 
| bool | hasNonSimpleCrossings () const | 
|  | Returns whether the GraphCopy contains crossings that will result in a non-simple drawing. 
 | 
|  | 
| void | removeNonSimpleCrossings (SListPure< edge > &edgesToCheck, DynamicDualGraph *dualGraph=nullptr) | 
|  | Removes all non-simple cossings involving edges from edgesToCheck(see hasNonSimpleCrossings() for a definition of non-simple crossings).
 | 
|  | 
| void | removeNonSimpleCrossings (DynamicDualGraph *dualGraph=nullptr) | 
|  | Removes all non-simple cossings (see hasNonSimpleCrossings() for a definition of non-simple crossings). 
 | 
|  | 
| void | removeNonSimpleCrossings (node origNode, DynamicDualGraph *dualGraph=nullptr) | 
|  | Removes all non-simple cossings involving edges incident to origNode(see hasNonSimpleCrossings() for a definition of non-simple crossings).
 | 
|  | 
| void | insertEdgePath (edge eOrig, const SList< adjEntry > &crossedEdges) | 
|  | Re-inserts edge eOrigby "crossing" the edges incrossedEdges.
 | 
|  | 
| void | insertEdgePath (node srcOrig, node tgtOrig, const SList< adjEntry > &crossedEdges) | 
|  | Special version (for FixedEmbeddingUpwardEdgeInserter only). 
 | 
|  | 
| void | removeEdgePath (edge eOrig) | 
|  | Removes the complete edge path for edge eOrig.
 | 
|  | 
| edge | insertCrossing (edge &crossingEdge, edge crossedEdge, bool rightToLeft) | 
|  | Inserts crossings between two copy edges. 
 | 
|  | 
| edge | newEdge (node v, node w, int index=-1) | 
|  | Creates a new edge ( v,w) and returns it.
 | 
|  | 
| edge | newEdge (node v, adjEntry adjTgt, int index=-1) | 
|  | Creates a new edge at predefined positions in the adjacency lists. 
 | 
|  | 
| edge | newEdge (adjEntry adjSrc, node w, int index=-1) | 
|  | Creates a new edge at predefined positions in the adjacency lists. 
 | 
|  | 
| edge | newEdge (adjEntry adjSrc, adjEntry adjTgt, Direction dir=Direction::after, int index=-1) | 
|  | Creates a new edge at predefined positions in the adjacency lists. 
 | 
|  | 
| template<typename S , typename T > | 
| edge | newEdge (S src, Direction dirSrc, T tgt, Direction dirTgt, int index=-1) | 
|  | Creates a new edge at predefined positions in the adjacency lists. 
 | 
|  | 
| edge | newEdge (node v, adjEntry adj, edge eOrig, CombinatorialEmbedding &E) | 
|  | Creates a new edge with original edge eOrigin an embeddingE.
 | 
|  | 
| void | insertEdgePathEmbedded (edge eOrig, CombinatorialEmbedding &E, const SList< adjEntry > &crossedEdges) | 
|  | Re-inserts edge eOrigby "crossing" the edges incrossedEdgesin embeddingE.
 | 
|  | 
| void | insertEdgePathEmbedded (edge eOrig, CombinatorialEmbedding &E, DynamicDualGraph &dual, const SList< adjEntry > &crossedEdges) | 
|  | 
| void | removeEdgePathEmbedded (CombinatorialEmbedding &E, edge eOrig, FaceSet &newFaces) | 
|  | Removes the complete edge path for edge eOrigwhile preserving the embedding.
 | 
|  | 
| void | removeEdgePathEmbedded (CombinatorialEmbedding &E, DynamicDualGraph &dual, edge eOrig) | 
|  | 
| void | consistencyCheck () const | 
|  | Asserts that this copy is consistent. 
 | 
|  | 
|  | GraphCopyBase ()=default | 
|  | Constructs a GraphCopyBase associated with no graph. 
 | 
|  | 
|  | GraphCopyBase (const GraphCopyBase &other)=delete | 
|  | 
|  | GraphCopyBase (GraphCopyBase &&other) noexcept=delete | 
|  | 
| node | copy (node v) const | 
|  | Returns the node in the graph copy corresponding to v.
 | 
|  | 
| void | createEmpty (const Graph &G) | 
|  | Re-initializes the copy using G, but does not create any nodes or edges.
 | 
|  | 
| void | delNode (node v) override | 
|  | Removes node v.
 | 
|  | 
| bool | getLinkCopiesOnInsert () const | 
|  | 
| const Graph * | getOriginalGraph () const | 
|  | 
| void | init (const Graph &G) | 
|  | Re-initializes the copy using G, creating copies for all nodes and edges inG.
 | 
|  | 
| void | init (const Graph *G) | 
|  | Re-initializes the copy using G(which might be null), creating copies for all nodes and edges inG.
 | 
|  | 
| bool | isDummy (adjEntry adj) const | 
|  | Returns true iff adj->theEdge()has no corresponding edge in the original graph.
 | 
|  | 
| bool | isDummy (edge e) const | 
|  | Returns true iff ehas no corresponding edge in the original graph.
 | 
|  | 
| bool | isDummy (node v) const | 
|  | Returns true iff vhas no corresponding node in the original graph.
 | 
|  | 
| node | newNode (int index=-1) | 
|  | Creates a new node and returns it. 
 | 
|  | 
| node | newNode (node vOrig) | 
|  | Creates a new node in the graph copy with original node vOrig.
 | 
|  | 
| GraphCopyBase & | operator= (const GraphCopyBase &other)=delete | 
|  | 
| GraphCopyBase & | operator= (GraphCopyBase &&other) noexcept=delete | 
|  | 
| const Graph & | original () const | 
|  | Returns a reference to the original graph. 
 | 
|  | 
| adjEntry | original (adjEntry adj) const | 
|  | Returns the adjacency entry in the original graph corresponding to adj.
 | 
|  | 
| edge | original (edge e) const | 
|  | Returns the edge in the original graph corresponding to e.
 | 
|  | 
| node | original (node v) const | 
|  | Returns the node in the original graph corresponding to v.
 | 
|  | 
| void | setLinkCopiesOnInsert (bool linkCopiesOnInsert) | 
|  | Whether insert(getOriginalGraph())will automatically setcopyandoriginal.
 | 
|  | 
| void | setOriginalGraph (const Graph &G) | 
|  | Re-initializes the copy using G, but does not create any nodes or edges.
 | 
|  | 
|  | Graph () | 
|  | Constructs an empty graph. 
 | 
|  | 
|  | Graph (const Graph ©) | 
|  | Constructs a graph that is a copy of G.
 | 
|  | 
|  | Graph (Graph &&move)=delete | 
|  | 
| virtual | ~Graph () | 
|  | Destructor. 
 | 
|  | 
| Graph & | operator= (const Graph ©) | 
|  | Overwrites this graph to be a copy of G.
 | 
|  | 
| Graph & | operator= (Graph &&move)=delete | 
|  | 
| bool | empty () const | 
|  | Returns true iff the graph is empty, i.e., contains no nodes. 
 | 
|  | 
| int | numberOfNodes () const | 
|  | Returns the number of nodes in the graph. 
 | 
|  | 
| int | numberOfEdges () const | 
|  | Returns the number of edges in the graph. 
 | 
|  | 
| int | maxNodeIndex () const | 
|  | Returns the largest used node index. 
 | 
|  | 
| int | maxEdgeIndex () const | 
|  | Returns the largest used edge index. 
 | 
|  | 
| int | maxAdjEntryIndex () const | 
|  | Returns the largest used adjEntry index. 
 | 
|  | 
| node | firstNode () const | 
|  | Returns the first node in the list of all nodes. 
 | 
|  | 
| node | lastNode () const | 
|  | Returns the last node in the list of all nodes. 
 | 
|  | 
| edge | firstEdge () const | 
|  | Returns the first edge in the list of all edges. 
 | 
|  | 
| edge | lastEdge () const | 
|  | Returns the last edge in the list of all edges. 
 | 
|  | 
| node | chooseNode (std::function< bool(node)> includeNode=[](node) { return true;}, bool isFastTest=true) const | 
|  | Returns a random node. 
 | 
|  | 
| edge | chooseEdge (std::function< bool(edge)> includeEdge=[](edge) { return true;}, bool isFastTest=true) const | 
|  | Returns a random edge. 
 | 
|  | 
| template<class CONTAINER > | 
| void | allNodes (CONTAINER &nodeContainer) const | 
|  | Returns a container with all nodes of the graph. 
 | 
|  | 
| template<class CONTAINER > | 
| void | allEdges (CONTAINER &edgeContainer) const | 
|  | Returns a container with all edges of the graph. 
 | 
|  | 
| node | newNode (int index=-1) | 
|  | Creates a new node and returns it. 
 | 
|  | 
| edge | newEdge (node v, node w, int index=-1) | 
|  | Creates a new edge ( v,w) and returns it.
 | 
|  | 
| edge | newEdge (node v, adjEntry adjTgt, int index=-1) | 
|  | Creates a new edge at predefined positions in the adjacency lists. 
 | 
|  | 
| edge | newEdge (adjEntry adjSrc, node w, int index=-1) | 
|  | Creates a new edge at predefined positions in the adjacency lists. 
 | 
|  | 
| edge | newEdge (adjEntry adjSrc, adjEntry adjTgt, Direction dir=Direction::after, int index=-1) | 
|  | Creates a new edge at predefined positions in the adjacency lists. 
 | 
|  | 
| template<typename S , typename T > | 
| edge | newEdge (S src, Direction dirSrc, T tgt, Direction dirTgt, int index=-1) | 
|  | Creates a new edge at predefined positions in the adjacency lists. 
 | 
|  | 
| void | restoreAllEdges () | 
|  | Restore all hidden edges and invalidate all HiddenEdgeSets. 
 | 
|  | 
| void | unsplit (node u) | 
|  | Undoes a split operation. 
 | 
|  | 
| node | splitNode (adjEntry adjStartLeft, adjEntry adjStartRight) | 
|  | Splits a node while preserving the order of adjacency entries. 
 | 
|  | 
| node | contract (edge e, bool keepSelfLoops=false) | 
|  | Contracts edge ewhile preserving the order of adjacency entries.
 | 
|  | 
| void | move (edge e, adjEntry adjSrc, Direction dirSrc, adjEntry adjTgt, Direction dirTgt) | 
|  | Moves edge eto a different adjacency list.
 | 
|  | 
| void | moveTarget (edge e, node w) | 
|  | Moves the target node of edge eto nodew.
 | 
|  | 
| void | moveTarget (edge e, adjEntry adjTgt, Direction dir) | 
|  | Moves the target node of edge eto a specific position in an adjacency list.
 | 
|  | 
| void | moveSource (edge e, node w) | 
|  | Moves the source node of edge eto nodew.
 | 
|  | 
| void | moveSource (edge e, adjEntry adjSrc, Direction dir) | 
|  | Moves the source node of edge eto a specific position in an adjacency list.
 | 
|  | 
| edge | searchEdge (node v, node w, bool directed=false) const | 
|  | Searches and returns an edge connecting nodes vandwin time O( min(deg(v), deg(w))).
 | 
|  | 
| void | reverseEdge (edge e) | 
|  | Reverses the edge e, i.e., exchanges source and target node.
 | 
|  | 
| void | reverseAllEdges () | 
|  | Reverses all edges in the graph. 
 | 
|  | 
| template<class NODELIST > | 
| void | collapse (NODELIST &nodesToCollapse) | 
|  | Collapses all nodes in the list nodesToCollapseto the first node in the list.
 | 
|  | 
| template<class ADJ_ENTRY_LIST > | 
| void | sort (node v, const ADJ_ENTRY_LIST &newOrder) | 
|  | Sorts the adjacency list of node vaccording tonewOrder.
 | 
|  | 
| template<class IT > | 
| void | sort (node v, IT begin, IT end) | 
|  | Sorts the adjacency list of node vaccording to the range denoted by two iterators.
 | 
|  | 
| void | reverseAdjEdges (node v) | 
|  | Reverses the adjacency list of v.
 | 
|  | 
| void | moveAdj (adjEntry adjMove, Direction dir, adjEntry adjPos) | 
|  | Moves adjacency entry adjMovebefore or afteradjPos.
 | 
|  | 
| void | moveAdjAfter (adjEntry adjMove, adjEntry adjAfter) | 
|  | Moves adjacency entry adjMoveafteradjAfter.
 | 
|  | 
| void | moveAdjBefore (adjEntry adjMove, adjEntry adjBefore) | 
|  | Moves adjacency entry adjMovebeforeadjBefore.
 | 
|  | 
| void | reverseAdjEdges () | 
|  | Reverses all adjacency lists. 
 | 
|  | 
| void | swapAdjEdges (adjEntry adj1, adjEntry adj2) | 
|  | Exchanges two entries in an adjacency list. 
 | 
|  | 
| int | genus () const | 
|  | Returns the genus of the graph's embedding. 
 | 
|  | 
| bool | representsCombEmbedding () const | 
|  | Returns true iff the graph represents a combinatorial embedding. 
 | 
|  | 
| void | consistencyCheck () const | 
|  | Asserts that this graph is consistent. 
 | 
|  | 
| internal::GraphNodeRegistry & | nodeRegistry () | 
|  | Returns a reference to the registry of node arrays associated with this graph. 
 | 
|  | 
| const internal::GraphNodeRegistry & | nodeRegistry () const | 
|  | Returns a const reference to the registry of node arrays associated with this graph. 
 | 
|  | 
|  | operator const internal::GraphNodeRegistry & () const | 
|  | 
| internal::GraphEdgeRegistry & | edgeRegistry () | 
|  | Returns a reference to the registry of edge arrays associated with this graph. 
 | 
|  | 
| const internal::GraphEdgeRegistry & | edgeRegistry () const | 
|  | Returns a const reference to the registry of edge arrays associated with this graph. 
 | 
|  | 
|  | operator const internal::GraphEdgeRegistry & () const | 
|  | 
| internal::GraphAdjRegistry & | adjEntryRegistry () | 
|  | Returns a reference to the registry of adjEntry arrays associated with this graph. 
 | 
|  | 
| const internal::GraphAdjRegistry & | adjEntryRegistry () const | 
|  | Returns a const reference to the registry of adjEntry arrays associated with this graph. 
 | 
|  | 
|  | operator const internal::GraphAdjRegistry & () const | 
|  | 
| void | resetEdgeIdCount (int maxId) | 
|  | Resets the edge id count to maxId.
 | 
|  | 
| void | resetNodeIdCount (int maxId) | 
|  | 
| template<OGDF_NODE_ITER NI, OGDF_EDGE_ITER EI, bool copyEmbedding = true, bool copyIDs = false, bool notifyObservers = true> | 
| std::pair< int, int > | insert (const NI &nodesBegin, const NI &nodesEnd, const EI &edgesBegin, const EI &edgesEnd, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) | 
|  | Inserts a copy of a given subgraph into this graph. 
 | 
|  | 
| template<OGDF_NODE_ITER NI, OGDF_EDGE_FILTER EF, bool copyIDs = false, bool notifyObservers = true> | 
| std::pair< int, int > | insert (const NI &nodesBegin, const NI &nodesEnd, const EF &edgeFilter, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) | 
|  | Inserts a copy of a given subgraph into this graph. 
 | 
|  | 
| template<OGDF_NODE_LIST NL> | 
| std::pair< int, int > | insert (const NL &nodeList, const EdgeSet &edgeSet, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) | 
|  | Inserts a copy of a given subgraph into this graph. 
 | 
|  | 
| template<OGDF_NODE_LIST NL, OGDF_EDGE_LIST EL> | 
| std::pair< int, int > | insert (const NL &nodeList, const EL &edgeList, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) | 
|  | Inserts a copy of a given subgraph into this graph. 
 | 
|  | 
| std::pair< int, int > | insert (const CCsInfo &info, int cc, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) | 
|  | Inserts a copy of a given connected component ccinto this graph.
 | 
|  | 
| std::pair< int, int > | insert (const Graph &G, NodeArray< node > &nodeMap, EdgeArray< edge > &edgeMap) | 
|  | Inserts a copy of a given Graph Ginto this graph.
 | 
|  | 
| std::pair< int, int > | insert (const Graph &G) | 
|  | Inserts a copy of a given Graph Ginto this graph.
 | 
|  | 
|  | Observable ()=default | 
|  | 
|  | Observable (const Observable ©)=delete | 
|  | If you want to copy a subclass of Observable, call the default Observable() constructor. 
 | 
|  | 
|  | Observable (Observable &&move)=delete | 
|  | If you want to move a subclass of Observable, call the default Observable() constructor. 
 | 
|  | 
| virtual | ~Observable () | 
|  | Note that all Observers must already be removed once the destructor of this base class is invoked (e.g. 
 | 
|  | 
| Observable & | operator= (const Observable ©)=delete | 
|  | 
| Observable & | operator= (Observable &&move)=delete | 
|  | 
|  | GraphObserver ()=default | 
|  | Constructs instance of GraphObserver class. 
 | 
|  | 
|  | GraphObserver (const Graph *G) | 
|  | 
| const Graph * | getGraph () const | 
|  | 
|  | Observer ()=default | 
|  | Constructs unregistered instance of Observer class. 
 | 
|  | 
|  | Observer (const Graph *R) | 
|  | 
|  | Observer (const Observer ©)=delete | 
|  | If you want to copy a subclass of Observer, call the default Observer() constructor and optionally also call reregister if it makes sense. 
 | 
|  | 
|  | Observer (Observer &&move)=delete | 
|  | If you want to move a subclass of Observer, call the default Observer() constructor and optionally also call reregister if it makes sense. 
 | 
|  | 
| virtual | ~Observer () | 
|  | Destroys the instance, unregisters it from watched instance. 
 | 
|  | 
| const Graph * | getObserved () const | 
|  | 
| Observer & | operator= (const Observer ©)=delete | 
|  | 
| Observer & | operator= (Observer &&move)=delete | 
|  | 
| virtual void | registrationChanged (const Graph *old) | 
|  | Called after reregister() changed the observed instance. 
 | 
|  | 
| void | reregister (const Graph *obs) | 
|  | Associates observer instance with instance obs.
 | 
|  |