Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::EdgeStandardRep Class Reference

Edge standard representation of hypergraphs. More...

#include <ogdf/hypergraph/EdgeStandardRep.h>

+ Inheritance diagram for ogdf::EdgeStandardRep:

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 GraphconstGraph () 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 Hypergraphhypergraph () 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 Hypergraphhypergraph () 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 &copy)=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 HypergraphgetObserved () const
 
Observeroperator= (const Observer &copy)=delete
 
Observeroperator= (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< nodem_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< hyperedgem_hyperedgeMap
 The map from representation edge to hyperedges. More...
 
const Hypergraphm_hypergraph
 The reference to the original hypergraph. More...
 
NodeArray< hypernodem_hypernodeMap
 The map from representation nodes to hypernodes. More...
 
HypernodeArray< nodem_nodeMap
 The map from representation hypernodes to nodes. More...
 
EdgeStandardType m_type
 The type of edge standard representation. More...
 

Detailed Description

Edge standard representation of hypergraphs.

Definition at line 68 of file EdgeStandardRep.h.

Constructor & Destructor Documentation

◆ EdgeStandardRep() [1/2]

ogdf::EdgeStandardRep::EdgeStandardRep ( )

Creates an edge standard representation.

◆ EdgeStandardRep() [2/2]

ogdf::EdgeStandardRep::EdgeStandardRep ( const Hypergraph pH,
EdgeStandardType  pType 
)

Creates an edge standard rep. of a given pType associated with pH.

◆ ~EdgeStandardRep()

virtual ogdf::EdgeStandardRep::~EdgeStandardRep ( )
virtual

Destructor.

Member Function Documentation

◆ clear()

void ogdf::EdgeStandardRep::clear ( )

Clears all cluster data.

◆ cleared()

virtual void ogdf::EdgeStandardRep::cleared ( )
overrideprotectedvirtual

Hypergraph clean-up reaction.

Implements ogdf::HypergraphObserver.

◆ cloneHypernodes()

void ogdf::EdgeStandardRep::cloneHypernodes ( )
private

◆ constGraph()

const Graph& ogdf::EdgeStandardRep::constGraph ( ) const
inline

Returns a reference to the representation graph.

Definition at line 111 of file EdgeStandardRep.h.

◆ constructCliqueRep()

void ogdf::EdgeStandardRep::constructCliqueRep ( )
private

◆ constructStarRep()

void ogdf::EdgeStandardRep::constructStarRep ( )
private

◆ constructTreeRep()

void ogdf::EdgeStandardRep::constructTreeRep ( )
private

◆ dummyNodes()

const List<node>& ogdf::EdgeStandardRep::dummyNodes ( ) const
inline

Returns the list of dummy nodes.

Definition at line 129 of file EdgeStandardRep.h.

◆ edgeMap()

const List<edge>& ogdf::EdgeStandardRep::edgeMap ( hyperedge  e)
inline

Returns the list of edges associated with the hyperedge.

Definition at line 123 of file EdgeStandardRep.h.

◆ hyperedgeAdded()

virtual void ogdf::EdgeStandardRep::hyperedgeAdded ( hyperedge  e)
overrideprotectedvirtual

Hyperedge addition reaction.

Implements ogdf::HypergraphObserver.

◆ hyperedgeDeleted()

virtual void ogdf::EdgeStandardRep::hyperedgeDeleted ( hyperedge  e)
overrideprotectedvirtual

Hyperedge removal reaction.

Implements ogdf::HypergraphObserver.

◆ hyperedgeMap()

hyperedge ogdf::EdgeStandardRep::hyperedgeMap ( edge  e)
inline

Returns the hyperedge associated with the edge.

Definition at line 126 of file EdgeStandardRep.h.

◆ hyperedgeToClique()

void ogdf::EdgeStandardRep::hyperedgeToClique ( hyperedge  e)
private

◆ hyperedgeToTree()

void ogdf::EdgeStandardRep::hyperedgeToTree ( hyperedge  e,
int  degree 
)
private

◆ hypergraph()

const Hypergraph& ogdf::EdgeStandardRep::hypergraph ( ) const
inline

Conversion to original hypergraph reference.

Definition at line 108 of file EdgeStandardRep.h.

◆ hypernodeAdded()

virtual void ogdf::EdgeStandardRep::hypernodeAdded ( hypernode  v)
overrideprotectedvirtual

Hypernode addition reaction.

Implements ogdf::HypergraphObserver.

◆ hypernodeDeleted()

virtual void ogdf::EdgeStandardRep::hypernodeDeleted ( hypernode  v)
overrideprotectedvirtual

Hypernode removal reaction.

Implements ogdf::HypergraphObserver.

◆ hypernodeMap()

hypernode ogdf::EdgeStandardRep::hypernodeMap ( node  v)
inline

Returns the hypernode associated with the node (if any).

Definition at line 120 of file EdgeStandardRep.h.

◆ nodeMap()

node ogdf::EdgeStandardRep::nodeMap ( hypernode  v)
inline

Returns the node associated with the hypernode.

Definition at line 117 of file EdgeStandardRep.h.

◆ type()

EdgeStandardType ogdf::EdgeStandardRep::type ( ) const
inline

Returns the type of edge standard representation.

Definition at line 114 of file EdgeStandardRep.h.

Member Data Documentation

◆ m_dummyNodes

List<node> ogdf::EdgeStandardRep::m_dummyNodes
private

The list of all newly created nodes.

Definition at line 92 of file EdgeStandardRep.h.

◆ m_edgeMap

HyperedgeArray<List<edge> > ogdf::EdgeStandardRep::m_edgeMap
private

The map from representation hyperedge to edges.

Definition at line 89 of file EdgeStandardRep.h.

◆ m_graphRep

Graph ogdf::EdgeStandardRep::m_graphRep
private

Edge standard representation of the hypergraph.

Definition at line 77 of file EdgeStandardRep.h.

◆ m_hyperedgeMap

EdgeArray<hyperedge> ogdf::EdgeStandardRep::m_hyperedgeMap
private

The map from representation edge to hyperedges.

Definition at line 86 of file EdgeStandardRep.h.

◆ m_hypergraph

const Hypergraph* ogdf::EdgeStandardRep::m_hypergraph
private

The reference to the original hypergraph.

Definition at line 74 of file EdgeStandardRep.h.

◆ m_hypernodeMap

NodeArray<hypernode> ogdf::EdgeStandardRep::m_hypernodeMap
private

The map from representation nodes to hypernodes.

Definition at line 80 of file EdgeStandardRep.h.

◆ m_nodeMap

HypernodeArray<node> ogdf::EdgeStandardRep::m_nodeMap
private

The map from representation hypernodes to nodes.

Definition at line 83 of file EdgeStandardRep.h.

◆ m_type

EdgeStandardType ogdf::EdgeStandardRep::m_type
private

The type of edge standard representation.

Definition at line 71 of file EdgeStandardRep.h.


The documentation for this class was generated from the following file: