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,
140 return static_cast<unsigned int>(hypot(dx, dy)) ==
distance_;
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.
const nav_grid::NavGridInfo * info_
bool isValidIndex(int x, int y) const
Check if arbitrary coordinates are within the grid.
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 worldToGrid(const NavGridInfo &info, double wx, double wy, double &mx, double &my)
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_