48class CombinatorialEmbedding;
121 return m_eTreeArray(i, j);
134 edge eNew = PlanRepUML::split(e);
136 m_treeEdge[eNew] =
true;
146 std::ofstream os(fileName);
151 std::ofstream os(fileName);
152 writeGML(os, drawing);
Declaration and implementation of class Array2D which implements dynamic two dimensional arrays.
Includes declaration of graph class.
Declaration of class PlanRepUML.
Declaration of class UMLGraph.
Basic declarations, included by all source files.
Class for adjacency list elements.
The parameterized class Array2D implements dynamic two-dimensional arrays.
Combinatorial embeddings of planar graphs with modification functionality.
Class for the representation of edges.
Stores additional attributes of a graph (like layout information).
Copies of graphs supporting edge splitting.
Abstract Base class for graph observers.
Stores a layout of a graph (coordinates of nodes, bend points of edges).
Doubly linked lists (maintaining the length of the list).
Class for the representation of nodes.
This class is only an adaption of PlanRep for the special incremental drawing case.
int & componentNumber(node v)
Component number.
node initMinActiveCC(int i)
Inits a CC with at least one active node, makes a node active if necessary and returns it....
Array2D< edge > m_eTreeArray
used for treeConnection
bool makeTreeConnected(adjEntry adjExternal)
Handles copies of original CCs that are split into unconnected parts of active nodes by connecting th...
virtual edge split(edge e) override
Splits edge e, can be removed when edge status in edgetype m_treedge can be removed afterwards.
void activateEdge(edge e)
Sets activity status to true and updates the structures.
virtual void nodeAdded(node v) override
Called by watched graph after a node has been added.
void writeGML(std::ostream &os, const GraphAttributes &AG)
virtual void cleared() override
Called by watched graph when its clear function is called, just before things are removed.
int genusLayout(Layout &drawing) const
edge treeEdge(int i, int j) const
node initActiveCCGen(int i, bool minNode)
Initializes CC with active nodes (minNode ? at least one node)
NodeArray< int > m_component
number of partial component in current CC used for treeConnection
void initActiveCC(int i)
Inits a CC only with active elements.
adjEntry getExtAdj(GraphCopy &GC, CombinatorialEmbedding &E)
void writeGML(const char *fileName)
bool m_treeInit
check if the tree edge Array2D was initialized
void writeGML(std::ostream &os, const Layout &drawing, bool colorEmbed=true)
void writeGML(const char *fileName, const Layout &drawing)
virtual void nodeDeleted(node v) override
In the case that the underlying incremental structure changes, we update this copy.
void initMembers(const UMLGraph &UG)
virtual void edgeAdded(edge e) override
Called by watched graph after an edge has been added.
PlanRepInc(const UMLGraph &UG, const NodeArray< bool > &fixed)
Constructor for incremental updates (whole graph already given). The part to stay fixed has fixed val...
void deleteTreeConnection(int i, int j)
Deletes an edge again.
NodeArray< bool > m_activeNodes
stores the status of the nodes
PlanRepInc(const UMLGraph &UG)
Constructor for interactive updates (parts added step by step)
virtual void edgeDeleted(edge e) override
Called by watched graph just before an edge is deleted.
EdgeArray< bool > m_treeEdge
edge inserted for connnectivity
void getExtAdjs(List< adjEntry > &extAdjs)
Sets a list of adjentries on "external" faces of unconnected active parts of the current CC.
void activateNode(node v)
Sets activity status to true and updates the structures. Node activation activates all adjacent edges...
void deleteTreeConnection(int i, int j, CombinatorialEmbedding &E)
Planarized representation (of a connected component) of a UMLGraph; allows special handling of hierar...
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
RegisteredArray for nodes, edges and adjEntries of a graph.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
The namespace for all OGDF objects.