OpenMW
apps/openmw/mwrender/globalmap.hpp
Go to the documentation of this file.
00001 #ifndef _GAME_RENDER_GLOBALMAP_H
00002 #define _GAME_RENDER_GLOBALMAP_H
00003 
00004 #include <string>
00005 
00006 #include <OgreTexture.h>
00007 
00008 namespace Loading
00009 {
00010     class Listener;
00011 }
00012 
00013 namespace MWRender
00014 {
00015 
00016     class GlobalMap
00017     {
00018     public:
00019         GlobalMap(const std::string& cacheDir);
00020 
00021         void render(Loading::Listener* loadingListener);
00022 
00023         int getWidth() { return mWidth; }
00024         int getHeight() { return mHeight; }
00025 
00026         void worldPosToImageSpace(float x, float z, float& imageX, float& imageY);
00029 
00030         void cellTopLeftCornerToImageSpace(int x, int y, float& imageX, float& imageY);
00031 
00032         void exploreCell (int cellX, int cellY);
00033 
00034     private:
00035         std::string mCacheDir;
00036 
00037         std::vector< std::pair<int,int> > mExploredCells;
00038 
00039         Ogre::TexturePtr mOverlayTexture;
00040         std::vector<Ogre::uchar> mExploredBuffer;
00041 
00042         int mWidth;
00043         int mHeight;
00044 
00045         int mMinX, mMaxX, mMinY, mMaxY;
00046     };
00047 
00048 }
00049 
00050 #endif
00051