Go to the documentation of this file.
41 :
CircleOutline(info, center_x, center_y, static_cast<unsigned int>(ceil(radius / info->resolution)))
68 int center_index_x,
int center_index_y,
unsigned int distance,
71 center_index_x_(center_index_x), center_index_y_(center_index_y), distance_(distance), init_(
init),
72 start_index_(start_index)
140 return static_cast<unsigned int>(hypot(dx, dy)) ==
distance_;
void worldToGrid(const NavGridInfo &info, double wx, double wy, double &mx, double &my)
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
const nav_grid::NavGridInfo * info_
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.