Go to the documentation of this file.
41 :
BaseIterator(info), center_x_(center_x), center_y_(center_y), start_index_(0, 0)
54 unsigned int max_x_grid, max_y_grid;
72 :
CircleFill(other.info_, other.index_, other.center_x_, other.center_y_, other.radius_sq_,
73 other.min_x_, other.min_y_, other.width_, other.height_, other.start_index_)
78 double center_y,
double radius_sq,
unsigned int min_x,
unsigned int min_y,
unsigned int width,
80 :
BaseIterator(info, index), center_x_(center_x), center_y_(center_y), radius_sq_(radius_sq),
81 min_x_(min_x), min_y_(min_y), width_(width), height_(height), start_index_(start_index)
125 ++(*internal_iterator_);
131 ++(*internal_iterator_);
std::unique_ptr< SubGrid > internal_iterator_
Iterator for looping through every index within an aligned rectangular portion of the grid.
CircleFill begin() const override
bool isInside(unsigned int x, unsigned int y) const
Check if coordinates are inside the circle.
CircleFill & operator=(const CircleFill &other)
Assignment Operator Required to ensure unique_ptr is set properly.
void gridToWorld(const NavGridInfo &info, int mx, int my, double &wx, double &wy)
bool worldToGridBounded(const NavGridInfo &info, double wx, double wy, unsigned int &mx, unsigned int &my)
CircleFill(const nav_grid::NavGridInfo *info, double center_x, double center_y, double radius)
Public Constructor.
const nav_grid::NavGridInfo * info_
Iterates over all of the valid indexes that lie within a circle in row major order.
CircleFill end() const override
bool fieldsEqual(const CircleFill &other) override
Additional check for whether fields of derived iterators are equal.
nav_grid::Index start_index_
void increment() override
Increase the iterator to the next element.