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

Contains definition for the BoostGraphDeleter structure. More...

#include <memory>
#include <vector>
#include <string>
#include <cassert>
#include <iostream>
+ Include dependency graph for path_finder.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  HF::Pathfinding::BoostGraphDeleter
 Deleter for the BoostGraph. More...
 
struct  HF::Pathfinding::DistanceAndPredecessor
 Holds and maintains a distance and predecessor matrix. More...
 

Namespaces

namespace  HF
 Perform human scale analysis on 3D environments.
 
namespace  HF::SpatialStructures
 Contains standard fundamental data structures for representing space used throughout DHARTAPI.
 
namespace  HF::Pathfinding
 Algorithms to find the shortest path between nodes in a HF::SpatialStructures::Graph.
 

Functions

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...
 
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...
 
std::vector< HF::SpatialStructures::PathHF::Pathfinding::FindAllPaths (BoostGraph *bg)
 Find a path from every node to every node (NOTE: Not implemented yet.) 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...
 
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...
 
std::ostream & operator<< (std::ostream &os, HF::Pathfinding::DistanceAndPredecessor &dist_pred)
 An overload to print HF::Pathfinding::DistanceAndPredecessor when passed to cout . More...
 

Detailed Description

Contains definition for the BoostGraphDeleter structure.

Author
TBA
Date
17 Jun 2020

Definition in file path_finder.h.

Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream &  os,
HF::Pathfinding::DistanceAndPredecessor dist_pred 
)
inline

An overload to print HF::Pathfinding::DistanceAndPredecessor when passed to cout .

Definition at line 621 of file path_finder.h.

References HF::Pathfinding::DistanceAndPredecessor::GetRowOfDist(), HF::Pathfinding::DistanceAndPredecessor::GetRowOfPred(), and HF::Pathfinding::DistanceAndPredecessor::size.

+ Here is the call graph for this function: