23 template <
typename Tile>
40 timer.setSingleShot(
true);
41 int constexpr timeout = 2000;
56 template <
typename Tile>
59 if (!timer.isActive())
74 if (p.
timer.isActive())
76 timer.start(p.
timer.remainingTime());
96 history_.erase(std::remove_if(history_.begin(), history_.end(),
109 std::find_if(history_.begin(), history_.end(), [&
area](
ExpiringArea const& p) {
return p.area ==
area; });
110 if (it == history_.end())
112 history_.emplace_back(area);
119 template <
typename Tile>
122 return std::any_of(history_.begin(), history_.end(), [&to_find, &cache](
ExpiringArea const& ea) {
148 template <
typename Tile>
169 if (tile && history_.
ready(*
this, to_find))
void request(Area const &area)
bool ready(TileCacheDelay< Tile > const &cache) const
bool areaContainsTile(Area const &haystack, TileId const &needle)
void request(Area const &area)
bool ready(TileCacheDelay< Tile > const &cache, TileId const &to_find) const
ExpiringArea & operator=(ExpiringArea const &p)
Tile const * ready(TileId const &to_find) const
std::vector< ExpiringArea > history_
History of areas that will be or were drawn in Rviz.
detail::AreaHistory history_
bool isAreaReady(Area const &area) const
ExpiringArea(ExpiringArea const &p)
ExpiringArea & operator=(ExpiringArea &&)=default
void fit(Area const &area)
void add(Area const &area)
Tile const * ready(TileId const &to_find) const