Bresenham's 2D line drawing iterator, one cell at a time. More...
#include <bresenham.hpp>
Classes | |
| struct | sentinel |
| Past-of-end iterator sentinel. More... | |
Public Types | |
| using | difference_type = std::ptrdiff_t |
| Iterator difference type (as required by ranges::view_). More... | |
| using | iterator_category = std::forward_iterator_tag |
| Iterator category tag. More... | |
| using | pointer = Vector2 * |
| Pointer to iterated value type. More... | |
| using | reference = Vector2 & |
| Reference to iterated value type. More... | |
| using | value_type = Vector2 |
| Iterated value type. More... | |
Public Member Functions | |
| iterator ()=default | |
| Default constructor. More... | |
| iterator (const Line *line) | |
Constructs a Bresenham's 2D line iterator. More... | |
| bool | operator!= (const iterator &other) const |
| Inequality operator overload (as required by std::forward_iterator). More... | |
| bool | operator!= (const sentinel &other) const |
| Sentinel inequality operator overload. More... | |
| const Vector2 & | operator* () const |
| Dereference operator overload (only const). More... | |
| iterator & | operator++ () |
| Prefix operator overload. More... | |
| iterator | operator++ (int) |
| Post-fix operator overload. More... | |
| const Vector2 * | operator-> () const |
| Arrow operator overload (only const). More... | |
| bool | operator== (const iterator &other) const |
| Equality operator overload (as required by std::forward_iterator). More... | |
| bool | operator== (const sentinel &) const |
| Sentinel equality operator overload. More... | |
Private Member Functions | |
| void | step_to (Integer x, Integer y) |
Private Attributes | |
| std::size_t | checks_ {0} |
| Vector2 | current_point_ {} |
| Integer | dxspan_ |
| Integer | dyspan_ {} |
| Integer | error_ {} |
| bool | modified_ {false} |
| Integer | prev_error_ {} |
| bool | reversed_ {false} |
| Integer | step_ {} |
| Integer | x_ {} |
| Integer | xspan_ {} |
| Integer | xstep_ {} |
| Integer | y_ {} |
| Integer | yspan_ {} |
| Integer | ystep_ {} |
Bresenham's 2D line drawing iterator, one cell at a time.
Definition at line 54 of file bresenham.hpp.
| using beluga::Bresenham2i::Line< Vector2, Integer >::iterator::difference_type = std::ptrdiff_t |
Iterator difference type (as required by ranges::view_).
Definition at line 69 of file bresenham.hpp.
| using beluga::Bresenham2i::Line< Vector2, Integer >::iterator::iterator_category = std::forward_iterator_tag |
Iterator category tag.
Definition at line 66 of file bresenham.hpp.
| using beluga::Bresenham2i::Line< Vector2, Integer >::iterator::pointer = Vector2* |
Pointer to iterated value type.
Definition at line 75 of file bresenham.hpp.
| using beluga::Bresenham2i::Line< Vector2, Integer >::iterator::reference = Vector2& |
Reference to iterated value type.
Definition at line 78 of file bresenham.hpp.
| using beluga::Bresenham2i::Line< Vector2, Integer >::iterator::value_type = Vector2 |
Iterated value type.
Definition at line 72 of file bresenham.hpp.
|
default |
Default constructor.
|
inlineexplicit |
Constructs a Bresenham's 2D line iterator.
Definition at line 84 of file bresenham.hpp.
|
inline |
Inequality operator overload (as required by std::forward_iterator).
Definition at line 176 of file bresenham.hpp.
|
inline |
Sentinel inequality operator overload.
Definition at line 182 of file bresenham.hpp.
|
inline |
Dereference operator overload (only const).
Definition at line 163 of file bresenham.hpp.
|
inline |
Prefix operator overload.
Definition at line 122 of file bresenham.hpp.
|
inline |
Post-fix operator overload.
Definition at line 115 of file bresenham.hpp.
|
inline |
Arrow operator overload (only const).
Definition at line 166 of file bresenham.hpp.
|
inline |
Equality operator overload (as required by std::forward_iterator).
Definition at line 169 of file bresenham.hpp.
|
inline |
Sentinel equality operator overload.
Definition at line 179 of file bresenham.hpp.
|
inlineprivate |
Definition at line 185 of file bresenham.hpp.
|
private |
Definition at line 201 of file bresenham.hpp.
|
private |
Definition at line 194 of file bresenham.hpp.
|
private |
Definition at line 197 of file bresenham.hpp.
|
private |
Definition at line 197 of file bresenham.hpp.
|
private |
Definition at line 199 of file bresenham.hpp.
|
private |
Definition at line 202 of file bresenham.hpp.
|
private |
Definition at line 199 of file bresenham.hpp.
|
private |
Definition at line 203 of file bresenham.hpp.
|
private |
Definition at line 198 of file bresenham.hpp.
|
private |
Definition at line 195 of file bresenham.hpp.
|
private |
Definition at line 196 of file bresenham.hpp.
|
private |
Definition at line 198 of file bresenham.hpp.
|
private |
Definition at line 195 of file bresenham.hpp.
|
private |
Definition at line 196 of file bresenham.hpp.
|
private |
Definition at line 198 of file bresenham.hpp.