4#include "SingleDepthCellStructure.h"
5#include "../iterator/depthIterator.h"
6#include "iterator_neu.h"
13 std::unordered_multimap<unsigned long,SingleDepthHashCellStructure> _map;
21 bool addPoint(
const CellDimension &key);
25 CellDimension bottomLeft, topRight;
28 DepthList depthList(grid);
30 for (
auto it = depthList.begin_all(); it != depthList.end_all(); ++it){
33 for(
int d=0; d<DimensionSparseGrid;d++){
34 bottomLeft.replace(d, Static_CellOneD::nextRight(0,T.at(d)+1));
35 topRight.replace(d,Static_CellOneD::nextLeft(1,T.at(d)+1));
37 for(RectangularIteratorCells iteratorCells(bottomLeft,topRight); iteratorCells.goon(); ++iteratorCells){
38 CellDimension cellDimension = iteratorCells.getCell();
39 if(cellingrid(cellDimension,grid))
40 addPoint(cellDimension);
54 CellIndexIterator cellIndexIterator(&cell);
55 for(;cellIndexIterator.goon(); ++cellIndexIterator){
56 IndexDimension Index = cellIndexIterator.getIndex();
58 if(Index.isNotAtBoundary() && !(grid.
occupied(k,Index)))
return false;
62 std::unordered_multimap<unsigned long,SingleDepthHashCellStructure>* getMap(){
return &_map;};
64 SingleDepthHashCellStructure& getGridForDepth(
const Depth &D);
65 vector<SingleDepthHashCellStructure*> getAllCells();
70 unsigned long hash(Depth D);
Definition sparseGrid.h:86
bool occupied(unsigned long &indexOfData, IndexDimension I)
Definition sparseGrid.h:465