History: BaseApplication-h
Preview of version: 5
Copy to clipboard
/* ----------------------------------------------------------------------------- Filename: BaseApplication.h ----------------------------------------------------------------------------- This source file is part of the ___ __ __ _ _ _ /___\__ _ _ __ ___ / / /\ \ (_) | _(_) // // _` | '__/ _ \ \ \/ \/ / | |/ / | / \_// (_| | | | __/ \ /\ /| | <| | \___/ \__, |_| \___| \/ \/ |_|_|\_\_| |___/ Tutorial Framework http://www.ogre3d.org/tikiwiki/ ----------------------------------------------------------------------------- */ #ifndef __BaseApplication_h_ #define __BaseApplication_h_ #include <OgreCamera.h> #include <OgreEntity.h> #include <OgreLogManager.h> #include <OgreRoot.h> #include <OgreViewport.h> #include <OgreSceneManager.h> #include <OgreRenderWindow.h> #include <OgreConfigFile.h> #include <OISEvents.h> #include <OISInputManager.h> #include <OISKeyboard.h> #include <OISMouse.h> #include <SdkTrays.h> #include <SdkCameraMan.h> class BaseApplication : public Ogre::FrameListener, public Ogre::WindowEventListener, public OIS::KeyListener, public OIS::MouseListener, OgreBites::SdkTrayListener { public: BaseApplication(void); virtual ~BaseApplication(void); virtual void go(void); protected: virtual bool setup(); virtual bool configure(void); virtual void chooseSceneManager(void); virtual void createCamera(void); virtual void createFrameListener(void); virtual void createScene(void) = 0; // Override me! virtual void destroyScene(void); virtual void createViewports(void); virtual void setupResources(void); virtual void createResourceListener(void); virtual void loadResources(void); virtual bool frameRenderingQueued(const Ogre::FrameEvent& evt); virtual bool keyPressed( const OIS::KeyEvent &arg ); virtual bool keyReleased( const OIS::KeyEvent &arg ); virtual bool mouseMoved( const OIS::MouseEvent &arg ); virtual bool mousePressed( const OIS::MouseEvent &arg, OIS::MouseButtonID id ); virtual bool mouseReleased( const OIS::MouseEvent &arg, OIS::MouseButtonID id ); //Adjust mouse clipping area virtual void windowResized(Ogre::RenderWindow* rw); //Unattach OIS before window shutdown (very important under Linux) virtual void windowClosed(Ogre::RenderWindow* rw); Ogre::Root *mRoot; Ogre::Camera* mCamera; Ogre::SceneManager* mSceneMgr; Ogre::RenderWindow* mWindow; Ogre::String mResourcesCfg; Ogre::String mPluginsCfg; // OgreBites OgreBites::SdkTrayManager* mTrayMgr; OgreBites::SdkCameraMan* mCameraMan; // basic camera controller OgreBites::ParamsPanel* mDetailsPanel; // sample details panel bool mCursorWasVisible; // was cursor visible before dialog appeared bool mShutDown; //OIS Input devices OIS::InputManager* mInputManager; OIS::Mouse* mMouse; OIS::Keyboard* mKeyboard; }; #endif // #ifndef __BaseApplication_h_