Classes | Namespaces | Typedefs | Functions
rtree_graph_planner.hpp File Reference
#include <vector>
#include <boost/random/mersenne_twister.hpp>
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/breadth_first_search.hpp>
#include <boost/graph/dijkstra_shortest_paths.hpp>
#include <boost/pending/indirect_cmp.hpp>
#include <boost/range/irange.hpp>
#include <boost/range/numeric.hpp>
#include <boost/range/algorithm/transform.hpp>
#include <boost/range/algorithm/fill.hpp>
#include <boost/geometry.hpp>
#include <boost/geometry/algorithms/distance.hpp>
#include <boost/geometry/geometries/register/point.hpp>
#include <boost/geometry/geometries/point.hpp>
#include <boost/geometry/geometries/box.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/algorithms/correct.hpp>
#include <boost/geometry/geometries/adapted/boost_array.hpp>
#include <boost/geometry/geometries/register/linestring.hpp>
#include <boost/geometry/index/rtree.hpp>
#include <boost/math/special_functions/fpclassify.hpp>
#include <boost/math/constants/constants.hpp>
#include <boost/math/special_functions/sign.hpp>
+ Include dependency graph for rtree_graph_planner.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plan::bg_edge_property< Line >
 
struct  plan::bg_vertex_property< Point >
 
struct  square< T >
 

Namespaces

 boost
 
 boost::geometry
 
 plan
 

Typedefs

typedef boost::array< double, 6 > plan::ArmPos
 
typedef bg::model::box< point_type > plan::box
 
typedef bg_edge_property< edge_type > plan::edge_property_type
 
typedef line_type plan::edge_type
 
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, bg_vertex_property< point_type >, bg_edge_property< line_type > > plan::graph_type
 
typedef boost::geometry::index::rtree< rtree_value, bgi::rstar< 16, 4 > > plan::knn_rtree_type
 
typedef bg::model::segment< point_type > plan::line_type
 
typedef ArmPos plan::point_type
 
typedef std::pair< point_type, vertex_descriptor_type > plan::rtree_value
 
typedef boost::graph_traits< graph_type >::vertex_descriptor plan::vertex_descriptor_type
 
typedef bg_vertex_property< point_type > plan::vertex_property_type
 

Functions

template<typename Graph , typename Route >
void add_edge_to_route (Graph const &graph, typename boost::graph_traits< Graph >::vertex_descriptor vertex1, typename boost::graph_traits< Graph >::vertex_descriptor vertex2, Route &route)
 
template<typename Graph , typename Route >
void build_route (Graph const &graph, std::vector< typename boost::graph_traits< Graph >::vertex_descriptor > const &predecessors, typename boost::graph_traits< Graph >::vertex_descriptor vertex1, typename boost::graph_traits< Graph >::vertex_descriptor vertex2, Route &route)
 
double boost::geometry::comparable_distance (plan::ArmPos const &p1, plan::ArmPos const &p2)
 
template<typename Box >
double boost::geometry::comparable_distance (plan::ArmPos const &armpos, Box const &box)
 distance between a a point and an axis aligned "box" on the surface of an n-torus More...
 
template<typename T >
normalizeRadiansPiToMinusPi (T rad)
 

Function Documentation

§ add_edge_to_route()

template<typename Graph , typename Route >
void add_edge_to_route ( Graph const &  graph,
typename boost::graph_traits< Graph >::vertex_descriptor  vertex1,
typename boost::graph_traits< Graph >::vertex_descriptor  vertex2,
Route &  route 
)
inline

§ build_route()

template<typename Graph , typename Route >
void build_route ( Graph const &  graph,
std::vector< typename boost::graph_traits< Graph >::vertex_descriptor > const &  predecessors,
typename boost::graph_traits< Graph >::vertex_descriptor  vertex1,
typename boost::graph_traits< Graph >::vertex_descriptor  vertex2,
Route &  route 
)
inline

After running dijkstra's algorithm build list of shortest path steps between start and end position.

Note
there will be duplicate positions that should be removed. source boost geometry graph example: https://github.com/boostorg/geometry/blob/bd9455207bb0012237c1853c3281ea95f146f91c/example/07_b_graph_route_example.cpp

Definition at line 265 of file rtree_graph_planner.hpp.

§ normalizeRadiansPiToMinusPi()

template<typename T >
T normalizeRadiansPiToMinusPi ( rad)
inline

Definition at line 162 of file rtree_graph_planner.hpp.