#ifndef GRAPH_H #define GRAPH_H #include #include class GraphEdge; class GraphNode { std::vector m_neighbours; int m_testvalue; //temp variable float m_priority; public: GraphNode(); GraphNode(std::vector); std::vector getNeighbours(); void addNeighbours(GraphNode*); int getNbNeighbours(); virtual float cost(GraphNode*){ std::cout << "WARNING : You're using the default cost function. For better result, redefine the cost function in GraphNode." << std::endl; return 1; } virtual float heuristic(GraphNode*){ std::cout << "WARNING : You're using the default heuristic function. For better result, redefine the heuristic function in GraphNode." << std::endl; return 0; } void setValue(int); int getValue(); void setPriority(float); float getPriority(); void print(std::string prefix); }; #endif // GRAPH_H