Declaration and implementation of EdgeArray class.
Pure declaration header, find template implementation in Graph.h.
Declaration and a partial implementation of a Hypergraph class partly based on the original classes f...
Declaration and implementation of hyperraph array classes based on Node/EdgeArray classes written by ...
Abstract base class for observers on hypergraphs, that need to be informed about hypergraph changes (...
Declaration and implementation of NodeArray class.
Dynamic arrays indexed with edges.
Class for the representation of edges.
Edge standard representation of hypergraphs.
HyperedgeArray< List< edge > > m_edgeMap
The map from representation hyperedge to edges.
NodeArray< hypernode > m_hypernodeMap
The map from representation nodes to hypernodes.
void hyperedgeToClique(hyperedge e)
EdgeStandardType type() const
Returns the type of edge standard representation.
EdgeStandardRep(const Hypergraph &pH, EdgeStandardType pType)
Creates an edge standard rep. of a given pType associated with pH.
virtual void hypernodeAdded(hypernode v) override
Hypernode addition reaction.
EdgeArray< hyperedge > m_hyperedgeMap
The map from representation edge to hyperedges.
hypernode hypernodeMap(node v)
Returns the hypernode associated with the node (if any).
const List< edge > & edgeMap(hyperedge e)
Returns the list of edges associated with the hyperedge.
node nodeMap(hypernode v)
Returns the node associated with the hypernode.
List< node > m_dummyNodes
The list of all newly created nodes.
const Hypergraph * m_hypergraph
The reference to the original hypergraph.
HypernodeArray< node > m_nodeMap
The map from representation hypernodes to nodes.
virtual void hyperedgeAdded(hyperedge e) override
Hyperedge addition reaction.
const Graph & constGraph() const
Returns a reference to the representation graph.
Graph m_graphRep
Edge standard representation of the hypergraph.
const Hypergraph & hypergraph() const
Conversion to original hypergraph reference.
void clear()
Clears all cluster data.
virtual void hyperedgeDeleted(hyperedge e) override
Hyperedge removal reaction.
EdgeStandardRep()
Creates an edge standard representation.
virtual void cleared() override
Hypergraph clean-up reaction.
void constructCliqueRep()
hyperedge hyperedgeMap(edge e)
Returns the hyperedge associated with the edge.
EdgeStandardType m_type
The type of edge standard representation.
virtual void hypernodeDeleted(hypernode v) override
Hypernode removal reaction.
virtual ~EdgeStandardRep()
Destructor.
const List< node > & dummyNodes() const
Returns the list of dummy nodes.
void hyperedgeToTree(hyperedge e, int degree)
Data type for general directed graphs (adjacency list representation).
Dynamic arrays indexed with nodes.
Class for the representation of hyperedges.
Dynamic arrays indexed with hypernodes.
Class for the representation of hypernodes.
Doubly linked lists (maintaining the length of the list).
Dynamic arrays indexed with nodes.
Class for the representation of nodes.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
EdgeStandardType
Enumeration class of possible edge standard representations.
@ clique
no new dummy nodes are introduced, for every hyperedge e = (v_1, ..., v_l), we add a cliqie K_l conne...
@ star
for every hyperedge e = {v_1, ..., v_l} a single new dummy node v_e is introduced,...
@ tree
for every hyperedge e a minimal subcubic tree connecting all hypernodes incident with e together is a...