.. _program_listing_file__tmp_ws_src_grid_map_grid_map_core_include_grid_map_core_iterators_PolygonIterator.hpp: Program Listing for File PolygonIterator.hpp ============================================ |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/grid_map/grid_map_core/include/grid_map_core/iterators/PolygonIterator.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp /* * PolygonIterator.hpp * * Created on: Sep 19, 2014 * Author: Péter Fankhauser * Institute: ETH Zurich, ANYbotics */ #ifndef GRID_MAP_CORE__ITERATORS__POLYGONITERATOR_HPP_ #define GRID_MAP_CORE__ITERATORS__POLYGONITERATOR_HPP_ #include #include "grid_map_core/GridMap.hpp" #include "grid_map_core/Polygon.hpp" #include "grid_map_core/iterators/SubmapIterator.hpp" namespace grid_map { class PolygonIterator { public: PolygonIterator(const grid_map::GridMap & gridMap, const grid_map::Polygon & polygon); PolygonIterator & operator=(const PolygonIterator & other); bool operator!=(const PolygonIterator & other) const; const Index & operator*() const; PolygonIterator & operator++(); bool isPastEnd() const; private: bool isInside() const; void findSubmapParameters( const grid_map::Polygon & polygon, Index & startIndex, Size & bufferSize) const; grid_map::Polygon polygon_; std::shared_ptr internalIterator_; Length mapLength_; Position mapPosition_; double resolution_; Size bufferSize_; Index bufferStartIndex_; public: EIGEN_MAKE_ALIGNED_OPERATOR_NEW }; } // namespace grid_map #endif // GRID_MAP_CORE__ITERATORS__POLYGONITERATOR_HPP_