00001 /* 00002 * BufferRegion.hpp 00003 * 00004 * Created on: Aug 19, 2015 00005 * Author: Péter Fankhauser 00006 * Institute: ETH Zurich, ANYbotics 00007 */ 00008 00009 #pragma once 00010 00011 #include "grid_map_core/TypeDefs.hpp" 00012 00013 namespace grid_map { 00014 00019 class BufferRegion 00020 { 00021 public: 00022 00026 enum class Quadrant 00027 { 00028 Undefined, 00029 TopLeft, 00030 TopRight, 00031 BottomLeft, 00032 BottomRight 00033 }; 00034 00035 constexpr static unsigned int nQuadrants = 4; 00036 00037 BufferRegion(); 00038 BufferRegion(const Index& startIndex, const Size& size, const BufferRegion::Quadrant& quadrant); 00039 virtual ~BufferRegion(); 00040 00041 const Index& getStartIndex() const; 00042 void setStartIndex(const Index& startIndex); 00043 const Size& getSize() const; 00044 void setSize(const Size& size); 00045 BufferRegion::Quadrant getQuadrant() const; 00046 void setQuadrant(BufferRegion::Quadrant type); 00047 00048 private: 00049 00051 Index staretIndex_; 00052 00054 Size size_; 00055 00057 Quadrant quadrant_; 00058 00059 public: 00060 EIGEN_MAKE_ALIGNED_OPERATOR_NEW 00061 }; 00062 00063 } /* namespace grid_map */