114 return m_eTreeArray(i,
j);
129 m_treeEdge[
eNew] =
true;
137 void writeGML(
const char*
fileName) {
148 void writeGML(std::ostream&
os,
const GraphAttributes&
AG);
Declaration and implementation of class Array2D which implements dynamic two dimensional arrays.
Declaration of class GraphAttributes which extends a Graph by additional attributes.
Abstract base class for structures on graphs, that need to be informed about graph changes (e....
Declaration of a base class for planar representations of graphs and cluster graphs.
Declaration of class PlanRepUML.
Declaration of class UMLGraph.
Class for adjacency list elements.
The parameterized class Array2D implements dynamic two-dimensional arrays.
Combinatorial embeddings of planar graphs with modification functionality.
Dynamic arrays indexed with edges.
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.
Doubly linked lists (maintaining the length of the list).
Dynamic arrays indexed with nodes.
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 when a node is added Has to be implemented by derived classes.
virtual void cleared() override
Called by watched graph when its clear function is called Has to be implemented by derived classes.
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)
bool m_treeInit
check if the tree edge Array2D was initialized
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 when an edge is added Has to be implemented by derived classes.
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 when an edge is deleted Has to be implemented by derived classes.
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...
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.