CGAL 6.1 - CGAL and the Boost Graph Library
Loading...
Searching...
No Matches

Methods to traverse a graph, for example to find the shortest path between two vertices.

Functions

template<typename Graph , typename OutputIterator , typename NamedParameters = parameters::Default_named_parameters>
OutputIterator CGAL::dijkstra_shortest_path (const typename boost::graph_traits< Graph >::vertex_descriptor vs, const typename boost::graph_traits< Graph >::vertex_descriptor vt, const Graph &g, OutputIterator halfedge_sequence_oit, const NamedParameters &np=parameters::default_values())
 computes the shortest path between two vertices in a graph g, where the vertices must belong to the same connected component of g.
 

Function Documentation

◆ dijkstra_shortest_path()

template<typename Graph , typename OutputIterator , typename NamedParameters = parameters::Default_named_parameters>
OutputIterator CGAL::dijkstra_shortest_path ( const typename boost::graph_traits< Graph >::vertex_descriptor  vs,
const typename boost::graph_traits< Graph >::vertex_descriptor  vt,
const Graph &  g,
OutputIterator  halfedge_sequence_oit,
const NamedParameters &  np = parameters::default_values() 
)

#include <CGAL/boost/graph/dijkstra_shortest_path.h>

computes the shortest path between two vertices in a graph g, where the vertices must belong to the same connected component of g.

Template Parameters
Grapha model of the concept HalfedgeListGraph
OutputIteratoran output iterator with value type boost::graph_traits<Graph>::halfedge_descriptor
NamedParametersa sequence of Named Parameters
Parameters
vssource vertex
vttarget vertex
gthe graph
halfedge_sequence_oitthe output iterator holding the output sequence of halfedges that form the shortest path from vs to vt on g
npan optional sequence of Named Parameters among the ones listed below
Optional Named Parameters
  • a property map associating to each edge in the graph its weight or "length". The weights must all be non-negative.
  • Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::edge_descriptor as key type and a value type which as specified in the named parameter distance_mapof the function boost::graph::dijkstra_shortest_paths(), with any model of RingNumberType fulfilling the requirements.
  • Default: get(boost::edge_weight, mesh)

  • a property map associating to each vertex of g a unique index between 0 and num_vertices(g) - 1
  • Type: a class model of ReadablePropertyMap with boost::graph_traits<PolygonMesh>::vertex_descriptor as key type and std::size_t as value type
  • Default: an automatically indexed internal map
Examples
BGL_surface_mesh/shortest_path.cpp.