#include <line_iterator.hpp>
Public Member Functions | |
bool | isPastEnd () const |
LineIterator (const cost_map::CostMap &gridMap, const Position &start, const Position &end) | |
LineIterator (const cost_map::CostMap &gridMap, const Index &start, const Index &end) | |
bool | operator!= (const LineIterator &other) const |
const Index & | operator* () const |
LineIterator & | operator++ () |
LineIterator & | operator= (const LineIterator &other) |
Private Member Functions | |
bool | getIndexLimitedToMapRange (const cost_map::CostMap &cost_map, const Position &start, const Position &end, Index &index) |
bool | initialize (const cost_map::CostMap &cost_map, const Index &start, const Index &end) |
void | initializeIterationParameters () |
Private Attributes | |
Size | bufferSize_ |
Index | bufferStartIndex_ |
int | denominator_ |
Index | end_ |
Ending index of the line. More... | |
unsigned int | iCell_ |
Current cell number. More... | |
Size | increment1_ |
Helper variables for Bresenham Line Drawing algorithm. More... | |
Size | increment2_ |
Index | index_ |
Current index. More... | |
Length | mapLength_ |
Map information needed to get position from iterator. More... | |
Position | mapPosition_ |
unsigned int | nCells_ |
Number of cells in the line. More... | |
int | numerator_ |
int | numeratorAdd_ |
double | resolution_ |
Index | start_ |
Starting index of the line. More... | |
Iterator class to iterate over a line in the map. Based on Bresenham Line Drawing algorithm.
Definition at line 17 of file line_iterator.hpp.
cost_map::LineIterator::LineIterator | ( | const cost_map::CostMap & | gridMap, |
const Position & | start, | ||
const Position & | end | ||
) |
Constructor.
gridMap | the grid map to iterate on. |
start | the starting point of the line. |
end | the ending point of the line. |
Definition at line 16 of file src/lib/iterators/line_iterator.cpp.
cost_map::LineIterator::LineIterator | ( | const cost_map::CostMap & | gridMap, |
const Index & | start, | ||
const Index & | end | ||
) |
Constructor.
gridMap | the grid map to iterate on. |
start | the starting index of the line. |
end | the ending index of the line. |
Definition at line 26 of file src/lib/iterators/line_iterator.cpp.
|
private |
Finds the index of a position on a line within the limits of the map.
[in] | cost_map | the grid map that defines the map boundaries. |
[in] | start | the position that will be limited to the map range. |
[in] | end | the ending position of the line. |
[out] | index | the index of the moved start position. |
Definition at line 93 of file src/lib/iterators/line_iterator.cpp.
|
private |
Construct function.
cost_map | the grid map to iterate on. |
start | the starting index of the line. |
end | the ending index of the line. |
Definition at line 78 of file src/lib/iterators/line_iterator.cpp.
|
private |
Computes the parameters requires for the line drawing algorithm.
Definition at line 107 of file src/lib/iterators/line_iterator.cpp.
bool cost_map::LineIterator::isPastEnd | ( | ) | const |
Indicates if iterator is past end.
Definition at line 73 of file src/lib/iterators/line_iterator.cpp.
bool cost_map::LineIterator::operator!= | ( | const LineIterator & | other | ) | const |
Compare to another iterator.
Definition at line 51 of file src/lib/iterators/line_iterator.cpp.
const Index & cost_map::LineIterator::operator* | ( | ) | const |
Dereference the iterator with const.
Definition at line 56 of file src/lib/iterators/line_iterator.cpp.
LineIterator & cost_map::LineIterator::operator++ | ( | ) |
Increase the iterator to the next element.
Definition at line 61 of file src/lib/iterators/line_iterator.cpp.
LineIterator & cost_map::LineIterator::operator= | ( | const LineIterator & | other | ) |
Assignment operator.
iterator | the iterator to copy data from. |
Definition at line 31 of file src/lib/iterators/line_iterator.cpp.
|
private |
Definition at line 117 of file line_iterator.hpp.
|
private |
Definition at line 118 of file line_iterator.hpp.
|
private |
Definition at line 111 of file line_iterator.hpp.
|
private |
Ending index of the line.
Definition at line 101 of file line_iterator.hpp.
|
private |
Current cell number.
Definition at line 104 of file line_iterator.hpp.
|
private |
Helper variables for Bresenham Line Drawing algorithm.
Definition at line 110 of file line_iterator.hpp.
|
private |
Definition at line 110 of file line_iterator.hpp.
|
private |
Current index.
Definition at line 95 of file line_iterator.hpp.
|
private |
Map information needed to get position from iterator.
Definition at line 114 of file line_iterator.hpp.
|
private |
Definition at line 115 of file line_iterator.hpp.
|
private |
Number of cells in the line.
Definition at line 107 of file line_iterator.hpp.
|
private |
Definition at line 111 of file line_iterator.hpp.
|
private |
Definition at line 111 of file line_iterator.hpp.
|
private |
Definition at line 116 of file line_iterator.hpp.
|
private |
Starting index of the line.
Definition at line 98 of file line_iterator.hpp.