Regina Calculation Engine
Classes | Namespaces | Functions
graph.h File Reference

Provides an interface for using triangulations with the Boost Graph Library. More...

#include <iostream>
#include <triangulation/generic.h>
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/properties.hpp>

Classes

struct  regina::graph::DualEdge< dim >
 A lightweight object that denotes an oriented edge of the dual graph of a dim-dimensional triangulation. More...
 
class  regina::graph::DualEdgeIterator< dim >
 Used to iterate through all dual edges of a dim-dimensional triangulation. More...
 
class  regina::graph::IncidentDualEdgeIterator< dim, out >
 Used to iterate through all dual edges incident to a given dual vertex of a dim-dimensional triangulation. More...
 
class  regina::graph::AdjacentDualVertexIterator< dim >
 Used to iterate through the dual vertices adjacent to a given dual vertex of a dim-dimensional triangulation. More...
 
class  regina::graph::InherentTriangulationPropertyMap< dim, PropertyType >
 Allows the Boost Graph Library to access inherent properties of the dual graph of a triangulation. More...
 
struct  std::iterator_traits< typename regina::graph::DualEdgeIterator< dim > >
 
struct  std::iterator_traits< typename regina::graph::AdjacentDualVertexIterator< dim > >
 
struct  std::iterator_traits< typename regina::graph::IncidentDualEdgeIterator< dim, out > >
 
struct  boost::property_traits< regina::graph::InherentTriangulationPropertyMap< dim, boost::vertex_index_t > >
 
struct  boost::property_traits< regina::graph::InherentTriangulationPropertyMap< dim, boost::vertex_name_t > >
 
struct  boost::property_map< regina::Triangulation< dim >, PropertyType >
 
struct  boost::graph_traits< regina::Triangulation< dim > >
 
struct  boost::graph_traits< regina::Triangulation< dim > >::traversal_category
 

Namespaces

 regina
 Contains the entire Regina calculation engine.
 
 regina::graph
 Provides an interface for various types of objects from Regina to work directly with the Boost Graph Library (BGL).
 

Functions

template<int dim>
std::pair< typename Triangulation< dim >::SimplexIterator, typename Triangulation< dim >::SimplexIterator > regina::vertices (const Triangulation< dim > &t)
 Returns an iterator range containing all vertices of the dual graph of the given triangulation. More...
 
template<int dim>
std::pair< graph::DualEdgeIterator< dim >, graph::DualEdgeIterator< dim > > regina::edges (const Triangulation< dim > &t)
 Returns an iterator range containing all edges of the dual graph of the given triangulation. More...
 
template<int dim>
size_t regina::num_vertices (const Triangulation< dim > &t)
 Returns the number of vertices in the dual graph of the given triangulation. More...
 
template<int dim>
size_t regina::num_edges (const Triangulation< dim > &t)
 Returns the number of edges in the dual graph of the given triangulation. More...
 
template<int dim>
Simplex< dim > * regina::source (graph::DualEdge< dim > e, const Triangulation< dim > &t)
 Returns the source vertex of the given oriented edge in the dual graph of the given triangulation. More...
 
template<int dim>
Simplex< dim > * regina::target (graph::DualEdge< dim > e, const Triangulation< dim > &t)
 Returns the target vertex of the given oriented edge in the dual graph of the given triangulation. More...
 
template<int dim>
unsigned regina::degree (Simplex< dim > *v, const Triangulation< dim > &)
 Returns the degree of the given vertex in the dual graph of the given triangulation. More...
 
template<int dim>
unsigned regina::in_degree (Simplex< dim > *v, const Triangulation< dim > &t)
 Returns the degree of the given vertex in the dual graph of the given triangulation. More...
 
template<int dim>
unsigned regina::out_degree (Simplex< dim > *v, const Triangulation< dim > &t)
 Returns the degree of the given vertex in the dual graph of the given triangulation. More...
 
template<int dim>
std::pair< graph::AdjacentDualVertexIterator< dim >, graph::AdjacentDualVertexIterator< dim > > regina::adjacent_vertices (Simplex< dim > *v, const Triangulation< dim > &t)
 Returns an iterator range containing all vertices adjacent to the given vertex of the dual graph of the given triangulation. More...
 
template<int dim>
std::pair< graph::IncidentDualEdgeIterator< dim, false >, graph::IncidentDualEdgeIterator< dim, false > > regina::in_edges (Simplex< dim > *v, const Triangulation< dim > &t)
 Returns an iterator range containing all edges incident with the given vertex of the dual graph of the given triangulation. More...
 
template<int dim>
std::pair< graph::IncidentDualEdgeIterator< dim, true >, graph::IncidentDualEdgeIterator< dim, true > > regina::out_edges (Simplex< dim > *v, const Triangulation< dim > &t)
 Returns an iterator range containing all edges incident with the given vertex of the dual graph of the given triangulation. More...
 
template<int dim>
size_t regina::get (graph::InherentTriangulationPropertyMap< dim, boost::vertex_index_t >, Simplex< dim > *v)
 Returns the index of the given vertex of the dual graph of a triangulation. More...
 
template<int dim>
const std::string & regina::get (graph::InherentTriangulationPropertyMap< dim, boost::vertex_name_t >, Simplex< dim > *v)
 Returns the description of the given vertex of the dual graph of a triangulation. More...
 
template<int dim>
graph::InherentTriangulationPropertyMap< dim, boost::vertex_index_t > regina::get (boost::vertex_index_t, const Triangulation< dim > &)
 Returns a Boost property map that can be used to query indices of vertices in the dual graph of a triangulation. More...
 
template<int dim>
graph::InherentTriangulationPropertyMap< dim, boost::vertex_name_t > regina::get (boost::vertex_name_t, const Triangulation< dim > &)
 Returns a Boost property map that can be used to query descriptions of vertices in the dual graph of a triangulation. More...
 
template<int dim>
size_t regina::get (boost::vertex_index_t, const Triangulation< dim > &, Simplex< dim > *v)
 Returns the index of the given vertex of the dual graph of a triangulation. More...
 
template<int dim>
const std::string & regina::get (boost::vertex_name_t, const Triangulation< dim > &, Simplex< dim > *v)
 Returns the description of the given vertex of the dual graph of a triangulation. More...
 

Detailed Description

Provides an interface for using triangulations with the Boost Graph Library.


Copyright © 1999-2020, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).