MapInflationTool.h
Go to the documentation of this file.
1 #ifndef MAP_INFLATION_TOOL_H
2 #define MAP_INFLATION_TOOL_H
3 
4 #include <queue>
5 
6 #include <ros/ros.h>
8 
9 class CellData
10 {
11 public:
12  CellData(double d, double i, unsigned int sx, unsigned int sy);
13  double distance;
14  unsigned int index;
15  unsigned int sx, sy;
16 };
17 
18 inline bool operator<(const CellData &a, const CellData &b)
19 {
20  return a.distance > b.distance;
21 }
22 
23 
25 {
26 public:
29 
30  void computeCaches(unsigned int radius);
31  void inflateMap(GridMap* map);
32 
33 private:
34  void enqueueObstacle(unsigned int index, unsigned int sx, unsigned int sy);
35  inline double distanceLookup(int mx, int my, int src_x, int src_y);
36  inline signed char costLookup(int mx, int my, int src_x, int src_y);
37 
39 
40  unsigned int mCellInflationRadius;
41  signed char** mCachedCosts;
42  double ** mCachedDistances;
43 
44  std::priority_queue<CellData> mInflationQueue;
45  unsigned char* mInflationMarkers;
46 
47  signed char mCostObstacle;
48 // char mCostLethal;
49 };
50 
51 #endif
MapInflationTool::mCachedDistances
double ** mCachedDistances
Definition: MapInflationTool.h:42
MapInflationTool::mInflationMarkers
unsigned char * mInflationMarkers
Definition: MapInflationTool.h:45
MapInflationTool::mCachedCosts
signed char ** mCachedCosts
Definition: MapInflationTool.h:41
MapInflationTool::MapInflationTool
MapInflationTool()
Definition: MapInflationTool.cpp:6
GridMap
Definition: GridMap.h:7
MapInflationTool::mCellInflationRadius
unsigned int mCellInflationRadius
Definition: MapInflationTool.h:40
ros.h
MapInflationTool::mGridMap
GridMap * mGridMap
Definition: MapInflationTool.h:38
MapInflationTool::mInflationQueue
std::priority_queue< CellData > mInflationQueue
Definition: MapInflationTool.h:44
MapInflationTool::computeCaches
void computeCaches(unsigned int radius)
Definition: MapInflationTool.cpp:24
MapInflationTool::distanceLookup
double distanceLookup(int mx, int my, int src_x, int src_y)
Definition: MapInflationTool.cpp:47
MapInflationTool::inflateMap
void inflateMap(GridMap *map)
Definition: MapInflationTool.cpp:73
operator<
bool operator<(const CellData &a, const CellData &b)
Definition: MapInflationTool.h:18
MapInflationTool::costLookup
signed char costLookup(int mx, int my, int src_x, int src_y)
Definition: MapInflationTool.cpp:60
CellData
Definition: MapInflationTool.h:9
GridMap.h
d
d
MapInflationTool
Definition: MapInflationTool.h:24
CellData::sx
unsigned int sx
Definition: MapInflationTool.h:15
CellData::sy
unsigned int sy
Definition: MapInflationTool.h:15
MapInflationTool::enqueueObstacle
void enqueueObstacle(unsigned int index, unsigned int sx, unsigned int sy)
Definition: MapInflationTool.cpp:126
CellData::distance
double distance
Definition: MapInflationTool.h:13
MapInflationTool::~MapInflationTool
~MapInflationTool()
Definition: MapInflationTool.cpp:14
MapInflationTool::mCostObstacle
signed char mCostObstacle
Definition: MapInflationTool.h:47
CellData::index
unsigned int index
Definition: MapInflationTool.h:14
CellData::CellData
CellData(double d, double i, unsigned int sx, unsigned int sy)
Definition: MapInflationTool.cpp:3


nav2d_navigator
Author(s): Sebastian Kasperski
autogenerated on Wed Mar 2 2022 00:37:37