PGROUTING  2.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
pgrouting::contraction::Pgr_deadend< G > Class Template Reference

#include "pgr_deadEndContraction.hpp"

Public Member Functions

void add_if_dead_end (G &graph, V v)
 
void calculateVertices (G &graph)
 
void doContraction (G &graph)
 
bool is_dead_end (G &graph, V v)
 true when v is a dead end More...
 
void setForbiddenVertices (Identifiers< V > forbidden_vertices)
 

Private Types

typedef G::E E
 
typedef G::V V
 

Private Attributes

Identifiers< VdeadendVertices
 
std::ostringstream debug
 
Identifiers< VforbiddenVertices
 

Detailed Description

template<class G>
class pgrouting::contraction::Pgr_deadend< G >

Definition at line 44 of file pgr_deadEndContraction.hpp.

Member Typedef Documentation

template<class G>
typedef G::E pgrouting::contraction::Pgr_deadend< G >::E
private

Definition at line 47 of file pgr_deadEndContraction.hpp.

template<class G>
typedef G::V pgrouting::contraction::Pgr_deadend< G >::V
private

Definition at line 46 of file pgr_deadEndContraction.hpp.

Member Function Documentation

template<class G >
void pgrouting::contraction::Pgr_deadend< G >::add_if_dead_end ( G &  graph,
V  v 
)

Definition at line 327 of file pgr_deadEndContraction.hpp.

template<class G >
void pgrouting::contraction::Pgr_deadend< G >::calculateVertices ( G &  graph)
template<class G >
void pgrouting::contraction::Pgr_deadend< G >::doContraction ( G &  graph)
template<class G >
bool pgrouting::contraction::Pgr_deadend< G >::is_dead_end ( G &  graph,
V  v 
)

true when v is a dead end

  • fobbiden_vertices
    • Not considered as dead end

undirected:

  • There is only one adjacent vertex:
  • All adjcent edges are from a single vertex
dot_inline_dotgraph_2.png

directed

case (1): (dead start)

  • one outgoing edge,
  • no incoming edge
dot_inline_dotgraph_3.png

case (2): (dead end)

  • no outgoing edge,
  • one incoming edge
dot_inline_dotgraph_4.png

case (3):

  • one outgoing edge,
  • one incoming edge
  • one adjacent vertex
dot_inline_dotgraph_5.png

case (4):

  • no outgoing edge,
  • many incoming edges
dot_inline_dotgraph_6.png

case (5):

  • many outgoing edge,
  • many incoming edges
  • All adjacent edges are from a single vertex
dot_inline_dotgraph_7.png

Definition at line 98 of file pgr_deadEndContraction.hpp.

References pgassert, and Identifiers< T >::size().

template<class G >
void pgrouting::contraction::Pgr_deadend< G >::setForbiddenVertices ( Identifiers< V forbidden_vertices)

Member Data Documentation

template<class G>
Identifiers<V> pgrouting::contraction::Pgr_deadend< G >::deadendVertices
private

Definition at line 60 of file pgr_deadEndContraction.hpp.

template<class G>
std::ostringstream pgrouting::contraction::Pgr_deadend< G >::debug
private

Definition at line 62 of file pgr_deadEndContraction.hpp.

template<class G>
Identifiers<V> pgrouting::contraction::Pgr_deadend< G >::forbiddenVertices
private

Definition at line 61 of file pgr_deadEndContraction.hpp.


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