Public Member Functions | Protected Member Functions | Protected Attributes
nav_grid_iterators::Bresenham Class Reference

Line Iterator using Bresenham's algorithm (no subpixel precision) More...

#include <bresenham.h>

Inheritance diagram for nav_grid_iterators::Bresenham:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Bresenham begin () const
 Helper function for range-style iteration.
 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.
nav_grid::SignedIndex getFinalIndex () const override
void increment () override
 Increase the iterator to the next element.
bool operator!= (const Bresenham &other)
 Test if two iterators are not equivalent - required for testing if iterator is at the end.
Bresenhamoperator++ ()
 Increase the iterator to the next element.
bool operator== (const Bresenham &other)
 Test if two iterators are equivalent.

Protected Member Functions

 Bresenham (const nav_grid::SignedIndex &index, int x0, int y0, int x1, int y1, bool include_last_index, int error_inc_x, int loop_inc_x, int error_inc_y, int loop_inc_y, int denominator, int numerator, int numerator_inc)
 Protected constructor that takes in an arbitrary index and other internal parameters.

Protected Attributes

int denominator_
int error_inc_x_
int error_inc_y_
bool include_last_index_
int loop_inc_x_
int loop_inc_y_
int numerator_
int numerator_inc_
int x0_
int x1_
int y0_
int y1_

Detailed Description

Line Iterator using Bresenham's algorithm (no subpixel precision)

Definition at line 46 of file bresenham.h.


Constructor & Destructor Documentation

nav_grid_iterators::Bresenham::Bresenham ( int  x0,
int  y0,
int  x1,
int  y1,
bool  include_last_index = true 
)

Public constructor.

Parameters:
x0Start x coordinate
y0Start y coordinate
x1End x coordinate
y1End y coordinate
include_last_indexIf true, will include the end coordinates.

Definition at line 41 of file bresenham.cpp.

nav_grid_iterators::Bresenham::Bresenham ( const nav_grid::SignedIndex &  index,
int  x0,
int  y0,
int  x1,
int  y1,
bool  include_last_index,
int  error_inc_x,
int  loop_inc_x,
int  error_inc_y,
int  loop_inc_y,
int  denominator,
int  numerator,
int  numerator_inc 
) [protected]

Protected constructor that takes in an arbitrary index and other internal parameters.

Parameters:
indexInitial index
x0Start x coordinate
y0Start y coordinate
x1End x coordinate
y1End y coordinate
include_last_indexIf true, will include the end coordinates.
error_inc_x
loop_inc_x
error_inc_y
loop_inc_y
denominator
numerator
numerator_inc

Definition at line 74 of file bresenham.cpp.


Member Function Documentation

Helper function for range-style iteration.

Returns:
Iterator representing beginning of the iteration

Definition at line 84 of file bresenham.cpp.

Helper function for range-style iteration.

Returns:
Iterator representing end of the iteration, with an invalid index

Definition at line 91 of file bresenham.cpp.

nav_grid::SignedIndex nav_grid_iterators::Bresenham::getFinalIndex ( ) const [override, virtual]

Implements nav_grid_iterators::AbstractLineIterator.

Definition at line 116 of file bresenham.cpp.

void nav_grid_iterators::Bresenham::increment ( ) [override, virtual]

Increase the iterator to the next element.

Implements nav_grid_iterators::AbstractLineIterator.

Definition at line 103 of file bresenham.cpp.

bool nav_grid_iterators::Bresenham::operator!= ( const Bresenham other) [inline]

Test if two iterators are not equivalent - required for testing if iterator is at the end.

Definition at line 70 of file bresenham.h.

Bresenham& nav_grid_iterators::Bresenham::operator++ ( ) [inline]

Increase the iterator to the next element.

Returns:
a reference to the updated iterator.

Definition at line 91 of file bresenham.h.

bool nav_grid_iterators::Bresenham::operator== ( const Bresenham other) [inline]

Test if two iterators are equivalent.

Definition at line 62 of file bresenham.h.


Member Data Documentation

Definition at line 130 of file bresenham.h.

Definition at line 129 of file bresenham.h.

Definition at line 129 of file bresenham.h.

Definition at line 128 of file bresenham.h.

Definition at line 129 of file bresenham.h.

Definition at line 129 of file bresenham.h.

Definition at line 130 of file bresenham.h.

Definition at line 130 of file bresenham.h.

Definition at line 127 of file bresenham.h.

Definition at line 127 of file bresenham.h.

Definition at line 127 of file bresenham.h.

Definition at line 127 of file bresenham.h.


The documentation for this class was generated from the following files:


nav_grid_iterators
Author(s):
autogenerated on Wed Jun 26 2019 20:09:45