added several grid-walks
added new helper methods/classes (e.g. for heading) new test cases optimize the dijkstra cleanups/refactoring added timed-benchmarks to the log many more...
This commit is contained in:
@@ -8,10 +8,10 @@ class NeighborIter : std::iterator<std::input_iterator_tag, int> {
|
||||
private:
|
||||
|
||||
/** the grid the src-node belongs to */
|
||||
const Grid<gridSize_cm, T>& grid;
|
||||
Grid<gridSize_cm, T>* grid;
|
||||
|
||||
/** index of the source-node within its grid */
|
||||
const int srcNodeIdx;
|
||||
int srcNodeIdx;
|
||||
|
||||
/** index of the current neighbor [0:10] */
|
||||
int nIdx;
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
|
||||
/** ctor */
|
||||
NeighborIter(const Grid<gridSize_cm, T>& grid, const int srcNodeIdx, const int nIdx) :
|
||||
grid(grid), srcNodeIdx(srcNodeIdx), nIdx(nIdx) {;}
|
||||
grid((Grid<gridSize_cm, T>*)&grid), srcNodeIdx(srcNodeIdx), nIdx(nIdx) {;}
|
||||
|
||||
/** next neighbor */
|
||||
NeighborIter& operator++() {++nIdx; return *this;}
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
bool operator!=(const NeighborIter& rhs) {return srcNodeIdx != rhs.srcNodeIdx || nIdx != rhs.nIdx;}
|
||||
|
||||
/** get the neighbor the iterator currently points to */
|
||||
T& operator*() {return (T&) grid.getNeighbor(srcNodeIdx, nIdx);}
|
||||
T& operator*() {return (T&) grid->getNeighbor(srcNodeIdx, nIdx);}
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user