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
void init(const M_string &remappings)
bool fieldsEqual(const CircleOutline &other) override
Additional check for whether fields of derived iterators are equal.
bool isValidIndex(int x, int y) const
Check if arbitrary coordinates are within the grid.
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...
CircleOutline end() const override
Helper function for range-style iteration.
Iterates over the valid indexes that lie on the outline of a circle.
int signum(const int val)
returns the sign of a number
CircleOutline begin() const override
Helper function for range-style iteration Equivalent to the above constructor.
void increment() override
Increase the iterator to the next element.
CircleOutline(const nav_grid::NavGridInfo *info, double center_x, double center_y, double radius)
Public Constructor.
nav_grid::Index start_index_