Go to the documentation of this file.
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 & operator++()
Increase the iterator to the next element.
std::input_iterator_tag iterator_category
Line Iterator using Bresenham's algorithm (no subpixel precision)
nav_grid::SignedIndex index_
GenericIndex< int > SignedIndex
nav_grid::SignedIndex getFinalIndex() const override
void increment() override
Increase the iterator to the next element.
Bresenham(int x0, int y0, int x1, int y1, bool include_last_index=true)
Public constructor.
Bresenham end() const
Helper function for range-style iteration.
bool operator!=(const Bresenham &other)
Test if two iterators are not equivalent - required for testing if iterator is at the end.
bool operator==(const Bresenham &other)
Test if two iterators are equivalent.
Bresenham begin() const
Helper function for range-style iteration.
Abstract class for iterating over lines.