Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 #ifndef __MAP_VIEWER_H
00012 #define __MAP_VIEWER_H
00013 
00014 #include "Map.h"
00015 #include <TooN/TooN.h>
00016 using namespace TooN;
00017 #include <TooN/se3.h>
00018 #include <sstream>
00019 #include "GLWindow2.h"
00020 
00021 struct Map;
00022 
00023 class MapViewer
00024 {
00025 public:
00026   MapViewer(Map &map, GLWindow2 &glw);
00027   void DrawMap(SE3<> se3CamFromWorld);
00028   std::string GetMessageForUser();
00029 
00030 protected:
00031   Map &mMap;
00032   GLWindow2 &mGLWindow;
00033 
00034   void DrawGrid();
00035   void DrawMapDots();
00036   void DrawCamera(SE3<> se3, bool bSmall=false);
00037   void SetupFrustum();
00038   void SetupModelView(SE3<> se3WorldFromCurrent = SE3<>());
00039 
00040   Vector<3> mv3MassCenter;
00041   SE3<> mse3ViewerFromWorld;
00042 
00043   std::ostringstream mMessageForUser;
00044 };
00045 
00046 #endif