Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph Class Reference

Necessary because ogdf::EdgeWeightedGraphCopy<T> is rubbish. More...

Public Member Functions

 AuxiliaryGraph (const EdgeWeightedGraph< T > &orig, const List< node > &terminals)
 Constructs a copy of the original graph with an added source node having edges to all other nodes.
 
node copy (node v) const
 Returns the copied node of the original node v.
 
const EdgeWeightedGraph< T > & graph () const
 Returns a const reference to the graph.
 
edge original (edge e) const
 Returns the original edge for the copied edge e.
 
node original (node v) const
 Returns the original node for the copied node v.
 
void setWeight (edge e, T value)
 Sets the weight of a copied edge.
 
node source () const
 Returns the source node.
 
const NodeArray< bool > & terminalArray () const
 Returns a const reference to m_isTerminal.
 
weight (edge e) const
 Returns the weight of a copied edge.
 

Private Attributes

EdgeWeightedGraph< T > m_copy
 The auxiliary copy.
 
NodeArray< nodem_copyOfNode
 A mapping from original nodes to copied nodes.
 
NodeArray< boolm_isTerminal
 True for terminals in the auxiliary graph.
 
const EdgeWeightedGraph< T > & m_original
 A reference to the original graph.
 
EdgeArray< edgem_origOfEdge
 A mapping from copied edges to original edges.
 
NodeArray< nodem_origOfNode
 A mapping from copied nodes to original nodes.
 
node m_source
 The source node.
 

Detailed Description

template<typename T>
class ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph

Necessary because ogdf::EdgeWeightedGraphCopy<T> is rubbish.

Definition at line 61 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

Constructor & Destructor Documentation

◆ AuxiliaryGraph()

template<typename T >
ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::AuxiliaryGraph ( const EdgeWeightedGraph< T > &  orig,
const List< node > &  terminals 
)
inline

Constructs a copy of the original graph with an added source node having edges to all other nodes.

Definition at line 73 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

Member Function Documentation

◆ copy()

template<typename T >
node ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::copy ( node  v) const
inline

Returns the copied node of the original node v.

Definition at line 104 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ graph()

template<typename T >
const EdgeWeightedGraph< T > & ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::graph ( ) const
inline

Returns a const reference to the graph.

Definition at line 125 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ original() [1/2]

template<typename T >
edge ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::original ( edge  e) const
inline

Returns the original edge for the copied edge e.

Definition at line 116 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ original() [2/2]

template<typename T >
node ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::original ( node  v) const
inline

Returns the original node for the copied node v.

Definition at line 110 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ setWeight()

template<typename T >
void ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::setWeight ( edge  e,
value 
)
inline

Sets the weight of a copied edge.

Definition at line 137 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ source()

template<typename T >
node ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::source ( ) const
inline

Returns the source node.

Definition at line 122 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ terminalArray()

template<typename T >
const NodeArray< bool > & ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::terminalArray ( ) const
inline

Returns a const reference to m_isTerminal.

Definition at line 128 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ weight()

template<typename T >
T ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::weight ( edge  e) const
inline

Returns the weight of a copied edge.

Definition at line 131 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

Member Data Documentation

◆ m_copy

The auxiliary copy.

Definition at line 63 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ m_copyOfNode

template<typename T >
NodeArray<node> ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::m_copyOfNode
private

A mapping from original nodes to copied nodes.

Definition at line 64 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ m_isTerminal

template<typename T >
NodeArray<bool> ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::m_isTerminal
private

True for terminals in the auxiliary graph.

Definition at line 67 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ m_original

A reference to the original graph.

Definition at line 62 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ m_origOfEdge

template<typename T >
EdgeArray<edge> ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::m_origOfEdge
private

A mapping from copied edges to original edges.

Definition at line 66 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ m_origOfNode

template<typename T >
NodeArray<node> ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::m_origOfNode
private

A mapping from copied nodes to original nodes.

Definition at line 65 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.

◆ m_source

template<typename T >
node ogdf::steiner_tree::FullComponentGeneratorDreyfusWagnerWithoutMatrix< T >::AuxiliaryGraph::m_source
private

The source node.

Definition at line 69 of file FullComponentGeneratorDreyfusWagnerWithoutMatrix.h.


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