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

#include <EllipseIterator.hpp>

List of all members.

Public Member Functions

 EllipseIterator (const GridMap &gridMap, const Position &center, const Length &length, const double rotation=0.0)
const SizegetSubmapSize () const
bool isPastEnd () const
bool operator!= (const EllipseIterator &other) const
const Indexoperator* () const
EllipseIteratoroperator++ ()
EllipseIteratoroperator= (const EllipseIterator &other)

Private Member Functions

void findSubmapParameters (const Position &center, const Length &length, const double rotation, 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 resolution_
Eigen::Array2d semiAxisSquare_
 Square length of the semi axis.
Eigen::Matrix2d transformMatrix_
 Sine and cosine values of the rotation angle as transformation matrix.

Detailed Description

Iterator class to iterate through a ellipsoid area of the map. The main axis of the ellipse are aligned with the map frame.

Definition at line 24 of file EllipseIterator.hpp.


Constructor & Destructor Documentation

grid_map::EllipseIterator::EllipseIterator ( const GridMap gridMap,
const Position center,
const Length length,
const double  rotation = 0.0 
)

Constructor.

Parameters:
gridMapthe grid map to iterate on.
centerthe position of the ellipse center.
lengththe length of the main axis.
anglethe rotation angle of the ellipse (in [rad]).

Definition at line 19 of file EllipseIterator.cpp.


Member Function Documentation

void grid_map::EllipseIterator::findSubmapParameters ( const Position center,
const Length length,
const double  rotation,
Index startIndex,
Size bufferSize 
) const [private]

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

Parameters:
[in]centerthe position of the ellipse center.
[in]lengththe length of the main axis.
[in]anglethe rotation angle of the ellipse (in [rad]).
[out]startIndexthe start index of the submap.
[out]bufferSizethe buffer size of the submap.

Definition at line 92 of file EllipseIterator.cpp.

Returns the size of the submap covered by the iterator.

Returns:
the size of the submap covered by the iterator.

Definition at line 79 of file EllipseIterator.cpp.

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

Check if current index is inside the ellipse.

Returns:
true if inside, false otherwise.

Definition at line 84 of file EllipseIterator.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 74 of file EllipseIterator.cpp.

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

Compare to another iterator.

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

Definition at line 52 of file EllipseIterator.cpp.

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

Dereference the iterator with const.

Returns:
the value to which the iterator is pointing.

Definition at line 57 of file EllipseIterator.cpp.

EllipseIterator & grid_map::EllipseIterator::operator++ ( )

Increase the iterator to the next element.

Returns:
a reference to the updated iterator.

Definition at line 62 of file EllipseIterator.cpp.

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

Assignment operator.

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

Definition at line 38 of file EllipseIterator.cpp.


Member Data Documentation

Definition at line 109 of file EllipseIterator.hpp.

Definition at line 110 of file EllipseIterator.hpp.

Position of the circle center;.

Definition at line 94 of file EllipseIterator.hpp.

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

Definition at line 103 of file EllipseIterator.hpp.

Map information needed to get position from iterator.

Definition at line 106 of file EllipseIterator.hpp.

Definition at line 107 of file EllipseIterator.hpp.

Definition at line 108 of file EllipseIterator.hpp.

Square length of the semi axis.

Definition at line 97 of file EllipseIterator.hpp.

Sine and cosine values of the rotation angle as transformation matrix.

Definition at line 100 of file EllipseIterator.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