Go to the documentation of this file.
35 #ifndef NAV_GRID_ITERATORS_POLYGON_OUTLINE_H
36 #define NAV_GRID_ITERATORS_POLYGON_OUTLINE_H
40 #include <nav_2d_msgs/Polygon2D.h>
88 bool bresenham,
unsigned int side_index);
104 #endif // NAV_GRID_ITERATORS_POLYGON_OUTLINE_H
Iterates over all of the valid indexes on the outline of a polygon.
PolygonOutline(const nav_grid::NavGridInfo *info, nav_2d_msgs::Polygon2D polygon, bool bresenham=true)
Public Constructor.
nav_grid::Index start_index_
PolygonOutline begin() const override
std::unique_ptr< Line > internal_iterator_
PolygonOutline end() const override
bool fieldsEqual(const PolygonOutline &other) override
Additional check for whether fields of derived iterators are equal.
nav_2d_msgs::Polygon2D polygon_
void loadSide()
Given a new side index, loads the internal iterator. If there are no valid values in the internal ite...
PolygonOutline & operator=(const PolygonOutline &other)
Assignment Operator Required to ensure unique_ptr is set properly.
void increment() override
Increase the iterator to the next element.