35 #ifndef NAV_GRID_ITERATORS_LINE_BRESENHAM_H 36 #define NAV_GRID_ITERATORS_LINE_BRESENHAM_H 57 Bresenham(
int x0,
int y0,
int x1,
int y1,
bool include_last_index =
true);
122 int x0,
int y0,
int x1,
int y1,
bool include_last_index,
123 int error_inc_x,
int loop_inc_x,
int error_inc_y,
int loop_inc_y,
124 int denominator,
int numerator,
int numerator_inc);
136 #endif // NAV_GRID_ITERATORS_LINE_BRESENHAM_H Bresenham(int x0, int y0, int x1, int y1, bool include_last_index=true)
Public constructor.
Abstract class for iterating over lines.
Bresenham end() const
Helper function for range-style iteration.
void increment() override
Increase the iterator to the next element.
Line Iterator using Bresenham's algorithm (no subpixel precision)
bool operator!=(const Bresenham &other)
Test if two iterators are not equivalent - required for testing if iterator is at the end...
Bresenham & operator++()
Increase the iterator to the next element.
nav_grid::SignedIndex getFinalIndex() const override
bool operator==(const Bresenham &other)
Test if two iterators are equivalent.
nav_grid::SignedIndex index_
std::input_iterator_tag iterator_category
GenericIndex< int > SignedIndex
Bresenham begin() const
Helper function for range-style iteration.