Go to the documentation of this file.
35 #ifndef NAV_GRID_ITERATORS_CIRCLE_OUTLINE_H
36 #define NAV_GRID_ITERATORS_CIRCLE_OUTLINE_H
50 return (0 < val) - (val < 0);
124 #endif // NAV_GRID_ITERATORS_CIRCLE_OUTLINE_H
int signum(const int val)
returns the sign of a number
CircleOutline begin() const override
nav_grid::Index start_index_
CircleOutline(const nav_grid::NavGridInfo *info, double center_x, double center_y, double radius)
Public Constructor.
CircleOutline end() const override
bool isOnOutline(int dx, int dy) const
Check if a cell with the given distance from the center of the circle is on the outline of the circle...
bool fieldsEqual(const CircleOutline &other) override
Additional check for whether fields of derived iterators are equal.
void init(const M_string &remappings)
void increment() override
Increase the iterator to the next element.
bool isValidIndex(int x, int y) const
Check if arbitrary coordinates are within the grid.
Iterates over the valid indexes that lie on the outline of a circle.