Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
grid_map::SpiralIterator Class Reference

#include <SpiralIterator.hpp>

Public Member Functions

double getCurrentRadius () const
 
bool isPastEnd () const
 
bool operator!= (const SpiralIterator &other) const
 
const Eigen::Array2i & operator* () const
 
SpiralIteratoroperator++ ()
 
 SpiralIterator (const grid_map::GridMap &gridMap, Eigen::Vector2d center, double radius)
 

Private Member Functions

void generateRing ()
 
bool isInside (const Index &index) const
 

Static Private Member Functions

static int signum (const int val)
 

Private Attributes

Size bufferSize_
 
Position center_
 Position of the circle center;. More...
 
unsigned int distance_
 
Index indexCenter_
 
Length mapLength_
 Map information needed to get position from iterator. More...
 
Position mapPosition_
 
unsigned int nRings_
 Number of rings into the circle is divided. More...
 
std::vector< IndexpointsRing_
 
double radius_
 Radius of the circle. More...
 
double radiusSquare_
 Square of the radius for efficiency. More...
 
double resolution_
 

Detailed Description

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

Definition at line 22 of file SpiralIterator.hpp.

Constructor & Destructor Documentation

◆ SpiralIterator()

grid_map::SpiralIterator::SpiralIterator ( const grid_map::GridMap gridMap,
Eigen::Vector2d  center,
double  radius 
)

Constructor.

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

Definition at line 18 of file SpiralIterator.cpp.

Member Function Documentation

◆ generateRing()

void grid_map::SpiralIterator::generateRing ( )
private

Uses the current distance to get the points of a ring around the center.

Definition at line 72 of file SpiralIterator.cpp.

◆ getCurrentRadius()

double grid_map::SpiralIterator::getCurrentRadius ( ) const

Gets the radius of current ring that is iterated through.

Returns
radius of the current ring that is used for iteration.

Definition at line 103 of file SpiralIterator.cpp.

◆ isInside()

bool grid_map::SpiralIterator::isInside ( const Index index) const
private

Check if index is inside the circle.

Returns
true if inside, false otherwise.

Definition at line 64 of file SpiralIterator.cpp.

◆ isPastEnd()

bool grid_map::SpiralIterator::isPastEnd ( ) const

Indicates if iterator is past end.

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

Definition at line 59 of file SpiralIterator.cpp.

◆ operator!=()

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

Compare to another iterator.

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

Definition at line 40 of file SpiralIterator.cpp.

◆ operator*()

const Eigen::Array2i & grid_map::SpiralIterator::operator* ( ) const

Dereference the iterator with const.

Returns
the value to which the iterator is pointing.

Definition at line 45 of file SpiralIterator.cpp.

◆ operator++()

SpiralIterator & grid_map::SpiralIterator::operator++ ( )

Increase the iterator to the next element.

Returns
a reference to the updated iterator.

Definition at line 50 of file SpiralIterator.cpp.

◆ signum()

static int grid_map::SpiralIterator::signum ( const int  val)
inlinestaticprivate

Definition at line 78 of file SpiralIterator.hpp.

Member Data Documentation

◆ bufferSize_

Size grid_map::SpiralIterator::bufferSize_
private

Definition at line 102 of file SpiralIterator.hpp.

◆ center_

Position grid_map::SpiralIterator::center_
private

Position of the circle center;.

Definition at line 83 of file SpiralIterator.hpp.

◆ distance_

unsigned int grid_map::SpiralIterator::distance_
private

Definition at line 95 of file SpiralIterator.hpp.

◆ indexCenter_

Index grid_map::SpiralIterator::indexCenter_
private

Definition at line 84 of file SpiralIterator.hpp.

◆ mapLength_

Length grid_map::SpiralIterator::mapLength_
private

Map information needed to get position from iterator.

Definition at line 99 of file SpiralIterator.hpp.

◆ mapPosition_

Position grid_map::SpiralIterator::mapPosition_
private

Definition at line 100 of file SpiralIterator.hpp.

◆ nRings_

unsigned int grid_map::SpiralIterator::nRings_
private

Number of rings into the circle is divided.

Definition at line 94 of file SpiralIterator.hpp.

◆ pointsRing_

std::vector<Index> grid_map::SpiralIterator::pointsRing_
private

Definition at line 96 of file SpiralIterator.hpp.

◆ radius_

double grid_map::SpiralIterator::radius_
private

Radius of the circle.

Definition at line 88 of file SpiralIterator.hpp.

◆ radiusSquare_

double grid_map::SpiralIterator::radiusSquare_
private

Square of the radius for efficiency.

Definition at line 91 of file SpiralIterator.hpp.

◆ resolution_

double grid_map::SpiralIterator::resolution_
private

Definition at line 101 of file SpiralIterator.hpp.


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


grid_map_core
Author(s): Péter Fankhauser
autogenerated on Wed Jul 5 2023 02:23:35