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
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...
TFSIMD_FORCE_INLINE tfScalar distance(const Vector3 &v) const
bool fieldsEqual(const CircleOutline &other) override
Additional check for whether fields of derived iterators are equal.
TFSIMD_FORCE_INLINE const tfScalar & y() const
bool isValidIndex(int x, int y) const
Check if arbitrary coordinates are within the grid.
TFSIMD_FORCE_INLINE const tfScalar & x() const
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_