ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | List of all members
larcfm::DensityGridAStarSearch Class Reference
Inheritance diagram for larcfm::DensityGridAStarSearch:
larcfm::DensityGridSearch larcfm::DensityGridTimedSearch

Classes

class  FringeEntry
 

Public Member Functions

double directionCost (FringeEntry c, int x2, int y2, double directionWeight) const
 
double predictedDistanceCost (std::pair< int, int > cell2, int endx, int endy, double distanceWeight) const
 
std::vector< std::pair< int, int > > astar (DensityGrid &dg, int endx, int endy, std::vector< FringeEntry > &fringe, std::vector< std::pair< int, int > > &searched, bool fourway, double directionWeight, double distanceWeight, double predictedDistanceWeight) const
 
std::vector< std::pair< int, int > > astarT (DensityGridTimed &dg, int endx, int endy, double gs, std::vector< FringeEntry > &fringe, std::vector< Triple< int, int, int > > &searched, bool fourway, double directionWeight, double distanceWeight, double predictedDistanceWeight) const
 
virtual std::vector< std::pair< int, int > > search (DensityGrid &dg, const Position &startPos, const Position &endPos) const
 
virtual std::vector< std::pair< int, int > > searchT (DensityGridTimed &dg, const Position &startPos, const Position &endPos, double startTime, double gs) const
 
virtual std::vector< std::pair< int, int > > optimalPath (DensityGrid &dg) const
 
virtual std::vector< std::pair< int, int > > optimalPathT (DensityGridTimed &dg) const
 

Static Public Member Functions

static double getDirectionWeight ()
 
static void setDirectionWeight (double dw)
 
static double getDistanceWeight ()
 
static void setDistanceWeight (double dw)
 
static bool isFourway ()
 
static void setFourway (bool fw)
 
static bool isOldHeuristics ()
 
static void setOldHeuristics (bool oh)
 
static double getPredictedDistanceWeight ()
 
static void setPredictedDistanceWeight (double pdw)
 

Static Public Attributes

static double dirWeight = 0.5
 
static double distWeight = 1.0
 
static double predDistWeight = 2.0
 
static bool fourway = false
 
static bool oldHeuristics = false
 
static bool gridDistances
 
static const double diagonalCost = sqrt(2.0)
 

Private Member Functions

bool contains (const std::vector< std::pair< int, int > > &gPath, const std::pair< int, int > &pii) const
 
bool contains (const std::vector< Triple< int, int, int > > &gPath, const Triple< int, int, int > &pii) const
 

Member Function Documentation

◆ optimalPath()

std::vector< std::pair< int, int > > larcfm::DensityGridAStarSearch::optimalPath ( DensityGrid dg) const
virtual

◆ optimalPathT()

std::vector< std::pair< int, int > > larcfm::DensityGridAStarSearch::optimalPathT ( DensityGridTimed dg) const
virtual

◆ search()

std::vector< std::pair< int, int > > larcfm::DensityGridAStarSearch::search ( DensityGrid dg,
const Position startPos,
const Position endPos 
) const
virtual

Perform an astar search through the given DensitGrid, starting at startPos and ending at endPos. This assumes the grid has a set of static polygons Returns a std::vector of grid coordinates defining a path, or null if no path found. This has the side effect of setting the searchedWeights values in the DensityGrid for display or analysis purposes.

Implements larcfm::DensityGridSearch.

◆ searchT()

std::vector< std::pair< int, int > > larcfm::DensityGridAStarSearch::searchT ( DensityGridTimed dg,
const Position startPos,
const Position endPos,
double  startTime,
double  gs 
) const
virtual

Perform a search on the given densitygrid, assuming a constant groundspeed. Polygons may be static or moving.

Parameters
dgTimed density grid with polygon and initial weight information. Polygons may be mosing or static.
startPosStart position for search.
endPosEnding Position for search.
startTimeAbsolute time to start the search at startPos
gsground speed of aircraft
Returns
std::vector of grid coordinates for a successful path, or null if no path found.

Implements larcfm::DensityGridTimedSearch.


The documentation for this class was generated from the following files: