began putting everything together
This commit is contained in:
29
code/DijkstraMapper.h
Normal file
29
code/DijkstraMapper.h
Normal file
@@ -0,0 +1,29 @@
|
||||
#ifndef DIJKSTRAMAPPER_H
|
||||
#define DIJKSTRAMAPPER_H
|
||||
|
||||
#include "MyGridNode.h"
|
||||
|
||||
/**
|
||||
* allows dijkstra calculation on top of our data-structure
|
||||
*/
|
||||
class DijkstraMapper {
|
||||
|
||||
Grid<MyGridNode>& grid;
|
||||
|
||||
public:
|
||||
|
||||
DijkstraMapper(Grid<MyGridNode>& grid) : grid(grid) {;}
|
||||
|
||||
int getNumNeighbors(const MyGridNode& node) const {return node.getNumNeighbors();}
|
||||
|
||||
const MyGridNode* getNeighbor(const MyGridNode& node, const int idx) const {return &grid.getNeighbor(node, idx);}
|
||||
|
||||
float getWeightBetween(const MyGridNode& n1, const MyGridNode& n2) const {
|
||||
float d = ((Point3)n1 - (Point3)n2).length(2.0);
|
||||
//if (d > 20) {d*= 1.30;}
|
||||
return d / std::pow(n2.imp, 3);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif // DIJKSTRAMAPPER_H
|
||||
Reference in New Issue
Block a user