DHART
Loading...
Searching...
No Matches
path_finder.cpp File Reference

Contains implmentation for the BoostGraphDeleter structure. More...

#include <path_finder.h>
#include <vector>
#include <robin_hood.h>
#include <omp.h>
#include <thread>
#include <math.h>
#include <execution>
#include <memory>
#include <boost/graph/dijkstra_shortest_paths.hpp>
#include <boost/graph/breadth_first_search.hpp>
#include <boost/graph/dijkstra_shortest_paths_no_color_map.hpp>
#include <boost/exception/exception.hpp>
#include <boost/math/special_functions/fpclassify.hpp>
#include <boost_graph.h>
#include <path.h>
+ Include dependency graph for path_finder.cpp:

Go to the source code of this file.

Classes

struct  HF::Pathfinding::DistPred
 A single row of a distance and predecessor matrix. More...
 

Namespaces

namespace  HF
 Perform human scale analysis on 3D environments.
 
namespace  HF::Pathfinding
 Algorithms to find the shortest path between nodes in a HF::SpatialStructures::Graph.
 

Functions

Path HF::Pathfinding::ConstructShortestPathFromPred (int start, int end, const std::vector< size_t > &pred, const std::vector< float > &distances)
 Construct the shortest path from start to end using the given predecessor and distance vectors. More...
 
Path HF::Pathfinding::ConstructShortestPathFromPred (int start, int end, const DistPred &dist_pred)
 Overload to call this with a distPred instead of the raw arrays. More...
 
DistPred HF::Pathfinding::BuildDistanceAndPredecessor (const graph_t &g, int id)
 Build a row of the distance and predecessor matrices for the node at id. More...
 
Path HF::Pathfinding::FindPath (BoostGraph *bg, int start_id, int end_id)
 Find a path between points A and B using Dijkstra's Shortest Path algorithm. More...
 
vector< PathHF::Pathfinding::FindPaths (BoostGraph *bg, const std::vector< int > &start_points, const std::vector< int > &end_points)
 Find a path from every id in start_ids to the matching end node in end_ids. More...
 
void HF::Pathfinding::InsertPathsIntoArray (const BoostGraph *bg, const std::vector< int > &start_points, const std::vector< int > &end_points, HF::SpatialStructures::Path **out_paths, HF::SpatialStructures::PathMember **out_path_members, int *out_sizes)
 A special version of FindPaths optimized for the C_Interface. More...
 
DistanceAndPredecessor HF::Pathfinding::GenerateDistanceAndPred (const BoostGraph &bg)
 Generate the distance and predecessor matricies for a specific boost graph. More...
 
std::unique_ptr< BoostGraph, BoostGraphDeleterHF::Pathfinding::CreateBoostGraph (const HF::SpatialStructures::Graph &g, const std::string &cost_type="")
 Create a new boost graph from a HF::SpatialStructures:Graph. More...
 
void HF::Pathfinding::InsertAllToAllPathsIntoArray (BoostGraph *bg, HF::SpatialStructures::Path **out_paths, HF::SpatialStructures::PathMember **out_path_members, int *out_sizes)
 A special version of FindPaths optimized for the C_Interface, such that all paths possible from each node to every other node are generated. More...
 

Detailed Description

Contains implmentation for the BoostGraphDeleter structure.

Author
TBA
Date
17 Jun 2020

Definition in file path_finder.cpp.