#ifndef _GAME_RENDER_MWSCENE_H #define _GAME_RENDER_MWSCENE_H #include #include #include #include "../mwworld/ptr.hpp" #include #include namespace Ogre { class Camera; class Viewport; class SceneManager; class SceneNode; class RaySceneQuery; class Quaternion; class Vector3; } namespace MWWorld { class World; class Environment; } namespace MWRender { class Player; class Debugging { OEngine::Physic::PhysicEngine* mEngine; Ogre::SceneManager* mSceneMgr; MWWorld::Environment& mEnvironment; //const ESMS::ESMStore& mStore; // Path grid stuff bool pathgridEnabled; void togglePathgrid(); typedef std::vector CellList; CellList mActiveCells; Ogre::SceneNode *mPathGridRoot; Ogre::SceneNode *mInteriorPathgridNode; typedef std::map, Ogre::SceneNode *> ExteriorPathgridNodes; ExteriorPathgridNodes mExteriorPathgridNodes; void togglePathgridForCell(MWWorld::Ptr::CellStore *store, bool enabled); public: Debugging(MWWorld::Environment &env, Ogre::SceneManager *mSceneMgr, OEngine::Physic::PhysicEngine* engine); bool toggleRenderMode (int mode); void cellAdded(MWWorld::Ptr::CellStore* store); void cellRemoved(MWWorld::Ptr::CellStore* store); }; } #endif