00001 #ifndef MAP_H 00002 #define MAP_H 00003 00004 #include <ngl/Types.h> 00005 #include <ngl/Camera.h> 00006 #include <string> 00007 #include <ngl/Obj.h> 00008 #include <Models.h> 00009 #include <ngl/TransformStack.h> 00010 00018 00019 class Map 00020 { 00021 public : 00022 //---------------------------------------------------------------------------------------------------------------------- 00028 //---------------------------------------------------------------------------------------------------------------------- 00029 Map(ngl::Camera *_cam,Models *_model, std::vector <ngl::Transformation> _trans, std::vector <ngl::Vec3> _obstacles); 00030 //---------------------------------------------------------------------------------------------------------------------- 00032 //---------------------------------------------------------------------------------------------------------------------- 00033 ~Map(); 00034 //---------------------------------------------------------------------------------------------------------------------- 00039 //---------------------------------------------------------------------------------------------------------------------- 00040 void draw(ngl::TransformStack *_tx, std::string _type,bool _box); 00041 //---------------------------------------------------------------------------------------------------------------------- 00043 //---------------------------------------------------------------------------------------------------------------------- 00044 void createMap(); 00045 //---------------------------------------------------------------------------------------------------------------------- 00049 //---------------------------------------------------------------------------------------------------------------------- 00050 void drawMaze( ngl::TransformStack *_tStack, bool _box); 00051 //---------------------------------------------------------------------------------------------------------------------- 00055 //---------------------------------------------------------------------------------------------------------------------- 00056 void drawObstacles( ngl::TransformStack *_tStack, bool _box); 00057 //---------------------------------------------------------------------------------------------------------------------- 00059 //---------------------------------------------------------------------------------------------------------------------- 00060 void inline setObstacles(const std::vector <ngl::Vec3> _obstacles){m_obstacles = _obstacles;std::cout<<"the obstacles "<<m_obstacles.size()<<std::endl;} 00061 //---------------------------------------------------------------------------------------------------------------------- 00063 //---------------------------------------------------------------------------------------------------------------------- 00064 void inline setNoObstacles(const std::vector <ngl::Vec3> _NoObstacles){m_NoObstacles = _NoObstacles;std::cout<<"the No obstacles "<<m_NoObstacles.size()<<std::endl;} 00065 //---------------------------------------------------------------------------------------------------------------------- 00067 //---------------------------------------------------------------------------------------------------------------------- 00068 ngl::Vec3 getInitialPosition(); 00069 00070 00071 private : 00072 //---------------------------------------------------------------------------------------------------------------------- 00074 //---------------------------------------------------------------------------------------------------------------------- 00075 GLuint m_texID1; 00076 //---------------------------------------------------------------------------------------------------------------------- 00078 //---------------------------------------------------------------------------------------------------------------------- 00079 ngl::Camera *m_camera; 00080 //---------------------------------------------------------------------------------------------------------------------- 00082 //---------------------------------------------------------------------------------------------------------------------- 00083 Models *m_model; 00084 //---------------------------------------------------------------------------------------------------------------------- 00086 //---------------------------------------------------------------------------------------------------------------------- 00087 std::string m_type; 00088 //---------------------------------------------------------------------------------------------------------------------- 00090 //---------------------------------------------------------------------------------------------------------------------- 00091 std::vector <ngl::Transformation> m_trans; 00092 //---------------------------------------------------------------------------------------------------------------------- 00094 //---------------------------------------------------------------------------------------------------------------------- 00095 std::vector <ngl::Vec3> m_obstacles; 00096 //---------------------------------------------------------------------------------------------------------------------- 00098 //---------------------------------------------------------------------------------------------------------------------- 00099 std::vector <ngl::Vec3> m_NoObstacles; 00100 00101 00102 }; 00103 00104 00105 00106 #endif // MAP_H