Public Member Functions | Private Member Functions | Private Attributes
cost_map::SpiralIterator Class Reference

#include <spiral_iterator.hpp>

List of all members.

Public Member Functions

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

Private Member Functions

void generateRing ()
bool isInside (const Index index) const
int signum (const int val)

Private Attributes

Size bufferSize_
Position center_
 Position of the circle center;.
unsigned int distance_
Index indexCenter_
Length mapLength_
 Map information needed to get position from iterator.
Position mapPosition_
unsigned int nRings_
 Number of rings into the circle is divided.
std::vector< IndexpointsRing_
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 with a spiral.

Definition at line 20 of file spiral_iterator.hpp.


Constructor & Destructor Documentation

cost_map::SpiralIterator::SpiralIterator ( const cost_map::CostMap gridMap,
const Eigen::Vector2d &  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 17 of file spiral_iterator.cpp.


Member Function Documentation

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

Definition at line 80 of file spiral_iterator.cpp.

Gets the radius of current ring that is iterated through.

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

Definition at line 112 of file spiral_iterator.cpp.

bool cost_map::SpiralIterator::isInside ( const Index  index) const [private]

Check if index is inside the circle.

Returns:
true if inside, false otherwise.

Definition at line 72 of file spiral_iterator.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 67 of file spiral_iterator.cpp.

bool cost_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 50 of file spiral_iterator.cpp.

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

Dereference the iterator with const.

Returns:
the value to which the iterator is pointing.

Definition at line 55 of file spiral_iterator.cpp.

SpiralIterator & cost_map::SpiralIterator::operator++ ( )

Increase the iterator to the next element.

Returns:
a reference to the updated iterator.

Definition at line 60 of file spiral_iterator.cpp.

SpiralIterator & cost_map::SpiralIterator::operator= ( const SpiralIterator other)

Assignment operator.

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

Definition at line 34 of file spiral_iterator.cpp.

int cost_map::SpiralIterator::signum ( const int  val) [inline, private]

Definition at line 83 of file spiral_iterator.hpp.


Member Data Documentation

Definition at line 107 of file spiral_iterator.hpp.

Position of the circle center;.

Definition at line 88 of file spiral_iterator.hpp.

unsigned int cost_map::SpiralIterator::distance_ [private]

Definition at line 100 of file spiral_iterator.hpp.

Definition at line 89 of file spiral_iterator.hpp.

Map information needed to get position from iterator.

Definition at line 104 of file spiral_iterator.hpp.

Definition at line 105 of file spiral_iterator.hpp.

unsigned int cost_map::SpiralIterator::nRings_ [private]

Number of rings into the circle is divided.

Definition at line 99 of file spiral_iterator.hpp.

Definition at line 101 of file spiral_iterator.hpp.

Radius of the circle.

Definition at line 93 of file spiral_iterator.hpp.

Square of the radius for efficiency.

Definition at line 96 of file spiral_iterator.hpp.

Definition at line 106 of file spiral_iterator.hpp.


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


cost_map_core
Author(s): Daniel Stonier
autogenerated on Thu Jun 6 2019 20:27:46