GridMapIterator.hpp
Go to the documentation of this file.
00001 /*
00002  * GridMapIterator.hpp
00003  *
00004  *  Created on: Sep 22, 2014
00005  *      Author: Péter Fankhauser
00006  *   Institute: ETH Zurich, Autonomous Systems Lab
00007  */
00008 
00009 #pragma once
00010 
00011 #include "grid_map_core/GridMap.hpp"
00012 
00013 // Eigen
00014 #include <Eigen/Core>
00015 
00016 namespace grid_map {
00017 
00021 class GridMapIterator
00022 {
00023 public:
00024 
00029   GridMapIterator(const grid_map::GridMap &gridMap);
00030 
00035   GridMapIterator(const GridMapIterator* other);
00036 
00042   GridMapIterator& operator =(const GridMapIterator& other);
00043 
00048   bool operator !=(const GridMapIterator& other) const;
00049 
00055   const Index operator *() const;
00056 
00063   const size_t& getLinearIndex() const;
00064 
00069   const Index getUnwrappedIndex() const;
00070 
00075   virtual GridMapIterator& operator ++();
00076 
00081   GridMapIterator end() const;
00082 
00087   bool isPastEnd() const;
00088 
00089 protected:
00090 
00092   Size size_;
00093 
00095   Index startIndex_;
00096 
00098   size_t linearSize_;
00099 
00101   size_t linearIndex_;
00102 
00104   bool isPastEnd_;
00105 
00106  public:
00107   EIGEN_MAKE_ALIGNED_OPERATOR_NEW
00108 };
00109 
00110 } /* namespace */


grid_map_core
Author(s): Péter Fankhauser
autogenerated on Mon Oct 9 2017 03:09:16