#include <SlidingWindowIterator.hpp>
Public Types | |
enum | EdgeHandling { INSIDE, CROP, EMPTY, MEAN } |
Public Member Functions | |
const Matrix | getData () const |
SlidingWindowIterator & | operator++ () |
void | setWindowLength (const GridMap &gridMap, const double windowLength) |
SlidingWindowIterator (const GridMap &gridMap, const std::string &layer, const EdgeHandling &edgeHandling=EdgeHandling::CROP, const size_t windowSize=3) | |
SlidingWindowIterator (const SlidingWindowIterator *other) | |
Private Member Functions | |
bool | dataInsideMap () const |
Check if data for current index is fully inside map. | |
void | setup (const GridMap &gridMap) |
Setup members. | |
Private Attributes | |
const Matrix & | data_ |
Data. | |
const EdgeHandling | edgeHandling_ |
Edge handling method. | |
size_t | windowMargin_ |
Size of the border of the window around the center cell. | |
size_t | windowSize_ |
Size of the sliding window. |
Iterator class to iterate trough the entire grid map with access to a layer's data through a sliding window. Note: This iterator only works with maps with zero start index.
Definition at line 24 of file SlidingWindowIterator.hpp.
Definition at line 28 of file SlidingWindowIterator.hpp.
grid_map::SlidingWindowIterator::SlidingWindowIterator | ( | const GridMap & | gridMap, |
const std::string & | layer, | ||
const EdgeHandling & | edgeHandling = EdgeHandling::CROP , |
||
const size_t | windowSize = 3 |
||
) |
Constructor.
gridMap | the grid map to iterate on. |
layer | the layer on which the data is accessed. |
edgeHandling | the method to handle edges of the map. |
windowSize | the size of the moving window in number of cells (has to be an odd number!). |
Definition at line 16 of file SlidingWindowIterator.cpp.
Copy constructor.
other | the object to copy. |
Definition at line 26 of file SlidingWindowIterator.cpp.
bool grid_map::SlidingWindowIterator::dataInsideMap | ( | ) | const [private] |
Check if data for current index is fully inside map.
Definition at line 99 of file SlidingWindowIterator.cpp.
const Matrix grid_map::SlidingWindowIterator::getData | ( | ) | const |
Return the data of the sliding window.
Definition at line 55 of file SlidingWindowIterator.cpp.
SlidingWindowIterator & grid_map::SlidingWindowIterator::operator++ | ( | ) | [virtual] |
Increase the iterator to the next element.
Reimplemented from grid_map::GridMapIterator.
Definition at line 42 of file SlidingWindowIterator.cpp.
void grid_map::SlidingWindowIterator::setup | ( | const GridMap & | gridMap | ) | [private] |
Setup members.
Definition at line 84 of file SlidingWindowIterator.cpp.
void grid_map::SlidingWindowIterator::setWindowLength | ( | const GridMap & | gridMap, |
const double | windowLength | ||
) |
Set the side length of the moving window (in m).
gridMap | the grid map to iterate on. |
windowLength | the side length of the window (in m). |
Definition at line 35 of file SlidingWindowIterator.cpp.
const Matrix& grid_map::SlidingWindowIterator::data_ [private] |
Data.
Definition at line 82 of file SlidingWindowIterator.hpp.
const EdgeHandling grid_map::SlidingWindowIterator::edgeHandling_ [private] |
Edge handling method.
Definition at line 79 of file SlidingWindowIterator.hpp.
size_t grid_map::SlidingWindowIterator::windowMargin_ [private] |
Size of the border of the window around the center cell.
Definition at line 88 of file SlidingWindowIterator.hpp.
size_t grid_map::SlidingWindowIterator::windowSize_ [private] |
Size of the sliding window.
Definition at line 85 of file SlidingWindowIterator.hpp.