Public Member Functions | Private Member Functions | Private Attributes
grid_map::CircleIterator Class Reference

#include <CircleIterator.hpp>

List of all members.

Public Member Functions

 CircleIterator (const GridMap &gridMap, const Position &center, const double radius)
bool isPastEnd () const
bool operator!= (const CircleIterator &other) const
const Indexoperator* () const
CircleIteratoroperator++ ()
CircleIteratoroperator= (const CircleIterator &other)

Private Member Functions

void findSubmapParameters (const Position &center, const double radius, Index &startIndex, Size &bufferSize) const
bool isInside () const

Private Attributes

Size bufferSize_
Index bufferStartIndex_
Position center_
 Position of the circle center;.
std::shared_ptr< SubmapIteratorinternalIterator_
 Grid submap iterator. // TODO Think of using unique_ptr instead.
Length mapLength_
 Map information needed to get position from iterator.
Position mapPosition_
double radius_
 Radius of the circle.
double radiusSquare_
 Square of the radius (for efficiency).
double resolution_

Detailed Description

Iterator class to iterate through a circular area of the map.

Definition at line 23 of file CircleIterator.hpp.


Constructor & Destructor Documentation

grid_map::CircleIterator::CircleIterator ( const GridMap gridMap,
const Position center,
const double  radius 
)

Constructor.

Parameters:
gridMapthe grid map to iterate on.
centerthe position of the circle center.
radiusthe radius of the circle.

Definition at line 16 of file CircleIterator.cpp.


Member Function Documentation

void grid_map::CircleIterator::findSubmapParameters ( const Position center,
const double  radius,
Index startIndex,
Size bufferSize 
) const [private]

Finds the submap that fully contains the circle and returns the parameters.

Parameters:
[in]centerthe position of the circle center.
[in]radiusthe radius of the circle.
[out]startIndexthe start index of the submap.
[out]bufferSizethe buffer size of the submap.

Definition at line 82 of file CircleIterator.cpp.

bool grid_map::CircleIterator::isInside ( ) const [private]

Check if current index is inside the circle.

Returns:
true if inside, false otherwise.

Definition at line 74 of file CircleIterator.cpp.

Indicates if iterator is past end.

Returns:
true if iterator is out of scope, false if end has not been reached.

Definition at line 69 of file CircleIterator.cpp.

bool grid_map::CircleIterator::operator!= ( const CircleIterator other) const

Compare to another iterator.

Returns:
whether the current iterator points to a different address than the other one.

Definition at line 47 of file CircleIterator.cpp.

const Index & grid_map::CircleIterator::operator* ( ) const

Dereference the iterator with const.

Returns:
the value to which the iterator is pointing.

Definition at line 52 of file CircleIterator.cpp.

CircleIterator & grid_map::CircleIterator::operator++ ( )

Increase the iterator to the next element.

Returns:
a reference to the updated iterator.

Definition at line 57 of file CircleIterator.cpp.

CircleIterator & grid_map::CircleIterator::operator= ( const CircleIterator other)

Assignment operator.

Parameters:
iteratorthe iterator to copy data from.
Returns:
a reference to *this.

Definition at line 33 of file CircleIterator.cpp.


Member Data Documentation

Definition at line 100 of file CircleIterator.hpp.

Definition at line 101 of file CircleIterator.hpp.

Position of the circle center;.

Definition at line 85 of file CircleIterator.hpp.

Grid submap iterator. // TODO Think of using unique_ptr instead.

Definition at line 94 of file CircleIterator.hpp.

Map information needed to get position from iterator.

Definition at line 97 of file CircleIterator.hpp.

Definition at line 98 of file CircleIterator.hpp.

Radius of the circle.

Definition at line 88 of file CircleIterator.hpp.

Square of the radius (for efficiency).

Definition at line 91 of file CircleIterator.hpp.

Definition at line 99 of file CircleIterator.hpp.


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


grid_map_core
Author(s): P├ęter Fankhauser
autogenerated on Tue Jul 9 2019 05:06:13