Program Listing for File SubmapIterator.hpp
↰ Return to documentation for file (/tmp/ws/src/grid_map/grid_map_core/include/grid_map_core/iterators/SubmapIterator.hpp
)
/*
* SubmapIterator.hpp
*
* Created on: Sep 12, 2014
* Author: Péter Fankhauser
* Institute: ETH Zurich, ANYbotics
*/
#ifndef GRID_MAP_CORE__ITERATORS__SUBMAPITERATOR_HPP_
#define GRID_MAP_CORE__ITERATORS__SUBMAPITERATOR_HPP_
#include <Eigen/Core>
#include "grid_map_core/GridMap.hpp"
#include "grid_map_core/SubmapGeometry.hpp"
#include "grid_map_core/BufferRegion.hpp"
namespace grid_map
{
class SubmapIterator
{
public:
explicit SubmapIterator(const grid_map::SubmapGeometry & submap);
SubmapIterator(const grid_map::GridMap & gridMap, const grid_map::BufferRegion & bufferRegion);
SubmapIterator(
const grid_map::GridMap & gridMap, const Index & submapStartIndex,
const Size & submapSize);
explicit SubmapIterator(const SubmapIterator * other);
SubmapIterator & operator=(const SubmapIterator & other);
bool operator!=(const SubmapIterator & other) const;
const Index & operator*() const;
const Index & getSubmapIndex() const;
SubmapIterator & operator++();
bool isPastEnd() const;
const Size & getSubmapSize() const;
private:
Size size_;
Index startIndex_;
Index index_;
Size submapSize_;
Index submapStartIndex_;
Index submapIndex_;
bool isPastEnd_;
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
};
} // namespace grid_map
#endif // GRID_MAP_CORE__ITERATORS__SUBMAPITERATOR_HPP_