#ifndef GRAPH_H
#define GRAPH_H

#include <vector>

#include "GraphNode.h"

#include "MemoryManager/debugNew.h"


namespace ground{

	/**
	 * classe permettant de gerer un graph simple.
	 */
	class Graph	{
	public:
		/**
		 * destructeur par defaut.
		 */
		virtual ~Graph(void){};
		/**
		 * methode permettant de recuperer l'ensemble des noeud du graph
		 * @return std::vector<GraphNode*> : vecteur contentant des pointur sur les noeud du graph
		 */
		virtual std::vector<GraphNode*>& getNodes() = 0;

		/**
		 * methode permettant d'initialiser le graph pour le pathfinding
		 */
		virtual void initialisePathFinding() = 0;
	};
};// namespace ground

#include "MemoryManager/debugNewOff.h"


#endif
