8 #ifndef cost_map_core_INFLATION_HPP_ 9 #define cost_map_core_INFLATION_HPP_ 15 #include "../cost_map.hpp" 45 virtual unsigned char operator()(
const float &distance)
const = 0;
66 virtual unsigned char operator()(
const float &distance)
const;
77 Inflate() : cell_inflation_radius_(
std::numeric_limits<unsigned int>::max())
91 void operator()(
const std::string layer_source,
92 const std::string layer_destination,
93 const float& inflation_radius,
109 CellData(
double d,
unsigned int x,
unsigned int y,
unsigned int sx,
unsigned int sy) :
110 distance_(d), x_(x), y_(y), src_x_(sx), src_y_(sy)
135 unsigned int mx,
unsigned int my,
136 unsigned int src_x,
unsigned int src_y
147 double distanceLookup(
int mx,
int my,
int src_x,
int src_y);
157 unsigned char costLookup(
int mx,
int my,
int src_x,
int src_y);
158 void computeCaches(
const float& resolution,
const InflationComputer& compute_cost);
160 Eigen::Matrix<bool, Eigen::Dynamic, Eigen::Dynamic>
seen_;
176 Deflate(
const bool& do_not_strip_inscribed_region=
false);
186 void operator()(
const std::string layer_source,
187 const std::string layer_destination,
Function which can compute costs for the inflation layer.
Eigen::Matrix< unsigned char, Eigen::Dynamic, Eigen::Dynamic > Matrix
cost_map::Matrix cached_costs_
unsigned int cell_inflation_radius_
Eigen::Matrix< bool, Eigen::Dynamic, Eigen::Dynamic > seen_
virtual ~ROSInflationComputer()
Functor to strip the inflation layer from a cost map.
virtual ~InflationComputer()
std::priority_queue< CellData > inflation_queue_
bool do_not_strip_inscribed_region
Function which can compute costs for the inflation layer.
friend bool operator<(const CellData &a, const CellData &b)
Provide an ordering between CellData objects in the priority queue.
Eigen::MatrixXf cached_distances_
virtual unsigned char operator()(const float &distance) const =0
Given a distance, compute a cost.
CellData(double d, unsigned int x, unsigned int y, unsigned int sx, unsigned int sy)
Constructor for CellData objects.