Edge standard representation of hypergraphs. More...
#include <ogdf/hypergraph/EdgeStandardRep.h>
Public Member Functions | |
EdgeStandardRep () | |
Creates an edge standard representation. More... | |
EdgeStandardRep (const Hypergraph &pH, EdgeStandardType pType) | |
Creates an edge standard rep. of a given pType associated with pH . More... | |
virtual | ~EdgeStandardRep () |
Destructor. More... | |
void | clear () |
Clears all cluster data. More... | |
const Graph & | constGraph () const |
Returns a reference to the representation graph. More... | |
const List< node > & | dummyNodes () const |
Returns the list of dummy nodes. More... | |
const List< edge > & | edgeMap (hyperedge e) |
Returns the list of edges associated with the hyperedge. More... | |
hyperedge | hyperedgeMap (edge e) |
Returns the hyperedge associated with the edge. More... | |
const Hypergraph & | hypergraph () const |
Conversion to original hypergraph reference. More... | |
hypernode | hypernodeMap (node v) |
Returns the hypernode associated with the node (if any). More... | |
node | nodeMap (hypernode v) |
Returns the node associated with the hypernode. More... | |
EdgeStandardType | type () const |
Returns the type of edge standard representation. More... | |
Public Member Functions inherited from ogdf::HypergraphObserver | |
HypergraphObserver ()=default | |
Constructor. More... | |
HypergraphObserver (const Hypergraph *pH) | |
Constructor assigning pH hypergraph to the observer. More... | |
const Hypergraph * | hypergraph () const |
Returns the observer hypergraph. More... | |
void | init (const Hypergraph *pH) |
Associates an observer instance with hypergraph pH . More... | |
Public Member Functions inherited from ogdf::Observer< Hypergraph, HypergraphObserver > | |
Observer ()=default | |
Constructs instance of Observer class. More... | |
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. More... | |
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. More... | |
virtual | ~Observer () |
Destroys the instance, unregisters it from watched instance. More... | |
const Hypergraph * | getObserved () const |
Observer & | operator= (const Observer ©)=delete |
Observer & | operator= (Observer &&move)=delete |
virtual void | registrationChanged (const Hypergraph *old) |
Called after reregister() changed the observed instance. More... | |
void | reregister (const Hypergraph *obs) |
Associates observer instance with instance obs . More... | |
Protected Member Functions | |
virtual void | cleared () override |
Hypergraph clean-up reaction. More... | |
virtual void | hyperedgeAdded (hyperedge e) override |
Hyperedge addition reaction. More... | |
virtual void | hyperedgeDeleted (hyperedge e) override |
Hyperedge removal reaction. More... | |
virtual void | hypernodeAdded (hypernode v) override |
Hypernode addition reaction. More... | |
virtual void | hypernodeDeleted (hypernode v) override |
Hypernode removal reaction. More... | |
Private Member Functions | |
void | cloneHypernodes () |
void | constructCliqueRep () |
void | constructStarRep () |
void | constructTreeRep () |
void | hyperedgeToClique (hyperedge e) |
void | hyperedgeToTree (hyperedge e, int degree) |
Private Attributes | |
List< node > | m_dummyNodes |
The list of all newly created nodes. More... | |
HyperedgeArray< List< edge > > | m_edgeMap |
The map from representation hyperedge to edges. More... | |
Graph | m_graphRep |
Edge standard representation of the hypergraph. More... | |
EdgeArray< hyperedge > | m_hyperedgeMap |
The map from representation edge to hyperedges. More... | |
const Hypergraph * | m_hypergraph |
The reference to the original hypergraph. More... | |
NodeArray< hypernode > | m_hypernodeMap |
The map from representation nodes to hypernodes. More... | |
HypernodeArray< node > | m_nodeMap |
The map from representation hypernodes to nodes. More... | |
EdgeStandardType | m_type |
The type of edge standard representation. More... | |
Edge standard representation of hypergraphs.
Definition at line 68 of file EdgeStandardRep.h.
ogdf::EdgeStandardRep::EdgeStandardRep | ( | ) |
Creates an edge standard representation.
ogdf::EdgeStandardRep::EdgeStandardRep | ( | const Hypergraph & | pH, |
EdgeStandardType | pType | ||
) |
Creates an edge standard rep. of a given pType
associated with pH
.
|
virtual |
Destructor.
void ogdf::EdgeStandardRep::clear | ( | ) |
Clears all cluster data.
|
overrideprotectedvirtual |
Hypergraph clean-up reaction.
Implements ogdf::HypergraphObserver.
|
private |
|
inline |
Returns a reference to the representation graph.
Definition at line 111 of file EdgeStandardRep.h.
|
private |
|
private |
|
private |
Returns the list of dummy nodes.
Definition at line 129 of file EdgeStandardRep.h.
Returns the list of edges associated with the hyperedge.
Definition at line 123 of file EdgeStandardRep.h.
|
overrideprotectedvirtual |
Hyperedge addition reaction.
Implements ogdf::HypergraphObserver.
|
overrideprotectedvirtual |
Hyperedge removal reaction.
Implements ogdf::HypergraphObserver.
Returns the hyperedge associated with the edge.
Definition at line 126 of file EdgeStandardRep.h.
|
private |
|
private |
|
inline |
Conversion to original hypergraph reference.
Definition at line 108 of file EdgeStandardRep.h.
|
overrideprotectedvirtual |
Hypernode addition reaction.
Implements ogdf::HypergraphObserver.
|
overrideprotectedvirtual |
Hypernode removal reaction.
Implements ogdf::HypergraphObserver.
Returns the hypernode associated with the node (if any).
Definition at line 120 of file EdgeStandardRep.h.
Returns the node associated with the hypernode.
Definition at line 117 of file EdgeStandardRep.h.
|
inline |
Returns the type of edge standard representation.
Definition at line 114 of file EdgeStandardRep.h.
The list of all newly created nodes.
Definition at line 92 of file EdgeStandardRep.h.
|
private |
The map from representation hyperedge to edges.
Definition at line 89 of file EdgeStandardRep.h.
|
private |
Edge standard representation of the hypergraph.
Definition at line 77 of file EdgeStandardRep.h.
The map from representation edge to hyperedges.
Definition at line 86 of file EdgeStandardRep.h.
|
private |
The reference to the original hypergraph.
Definition at line 74 of file EdgeStandardRep.h.
The map from representation nodes to hypernodes.
Definition at line 80 of file EdgeStandardRep.h.
|
private |
The map from representation hypernodes to nodes.
Definition at line 83 of file EdgeStandardRep.h.
|
private |
The type of edge standard representation.
Definition at line 71 of file EdgeStandardRep.h.