Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
grid_map::SlidingWindowIterator Class Reference

#include <SlidingWindowIterator.hpp>

Inheritance diagram for grid_map::SlidingWindowIterator:
Inheritance graph
[legend]

Public Types

enum  EdgeHandling { EdgeHandling::INSIDE, EdgeHandling::CROP, EdgeHandling::EMPTY, EdgeHandling::MEAN }
 

Public Member Functions

const Matrix getData () const
 
SlidingWindowIteratoroperator++ ()
 
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)
 
- Public Member Functions inherited from grid_map::GridMapIterator
GridMapIterator end () const
 
const size_t & getLinearIndex () const
 
const Index getUnwrappedIndex () const
 
 GridMapIterator (const grid_map::GridMap &gridMap)
 
 GridMapIterator (const GridMapIterator *other)
 
 GridMapIterator (const GridMapIterator &other)=default
 
bool isPastEnd () const
 
bool operator!= (const GridMapIterator &other) const
 
const Index operator* () const
 
GridMapIteratoroperator= (const GridMapIterator &other)
 

Private Member Functions

bool dataInsideMap () const
 Check if data for current index is fully inside map. More...
 
void setup (const GridMap &gridMap)
 Setup members. More...
 

Private Attributes

const Matrixdata_
 Data. More...
 
const EdgeHandling edgeHandling_
 Edge handling method. More...
 
size_t windowMargin_
 Size of the border of the window around the center cell. More...
 
size_t windowSize_
 Size of the sliding window. More...
 

Additional Inherited Members

- Protected Attributes inherited from grid_map::GridMapIterator
bool isPastEnd_
 Is iterator out of scope. More...
 
size_t linearIndex_
 Linear index. More...
 
size_t linearSize_
 Linear size of the data. More...
 
Size size_
 Size of the buffer. More...
 
Index startIndex_
 Start index of the circular buffer. More...
 

Detailed Description

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.

Member Enumeration Documentation

Enumerator
INSIDE 
CROP 
EMPTY 
MEAN 

Definition at line 28 of file SlidingWindowIterator.hpp.

Constructor & Destructor Documentation

grid_map::SlidingWindowIterator::SlidingWindowIterator ( const GridMap gridMap,
const std::string &  layer,
const EdgeHandling edgeHandling = EdgeHandling::CROP,
const size_t  windowSize = 3 
)

Constructor.

Parameters
gridMapthe grid map to iterate on.
layerthe layer on which the data is accessed.
edgeHandlingthe method to handle edges of the map.
windowSizethe size of the moving window in number of cells (has to be an odd number!).

Definition at line 16 of file SlidingWindowIterator.cpp.

grid_map::SlidingWindowIterator::SlidingWindowIterator ( const SlidingWindowIterator other)

Copy constructor.

Parameters
otherthe object to copy.

Definition at line 26 of file SlidingWindowIterator.cpp.

Member Function Documentation

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.

Returns
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.

Returns
a reference to the updated iterator.

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).

Parameters
gridMapthe grid map to iterate on.
windowLengththe side length of the window (in m).

Definition at line 35 of file SlidingWindowIterator.cpp.

Member Data Documentation

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.


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


grid_map_core
Author(s): Péter Fankhauser
autogenerated on Tue Jun 1 2021 02:13:27