www.pudn.com > TestForNetwonOgre.rar > BaseApplication.h
/* ----------------------------------------------------------------------------- Filename: BaseApplication.h ----------------------------------------------------------------------------- This source file is generated by the Ogre AppWizard. Check out: http://conglomerate.berlios.de/wiki/doku.php?id=ogrewizards Based on the Example Framework for OGRE (Object-oriented Graphics Rendering Engine) Copyright (c) 2000-2007 The OGRE Team For the latest info, see http://www.ogre3d.org/ You may use this sample code for anything you like, it is not covered by the LGPL like the rest of the OGRE engine. ----------------------------------------------------------------------------- */ #ifndef __BaseApplication_h_ #define __BaseApplication_h_ #include#include #include //Use this define to signify OIS will be used as a DLL //(so that dll import/export macros are in effect) #define OIS_DYNAMIC_LIB #include using namespace Ogre; #include #include class BaseApplication : public Ogre::Singleton , public FrameListener, public WindowEventListener, public OIS::KeyListener, public OIS::MouseListener { public: BaseApplication(void); virtual ~BaseApplication(void); virtual void go(void); CEGUI::System *mSystem; CEGUI::OgreCEGUIRenderer *mRenderer; 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 void updateStats(void); virtual bool processUnbufferedKeyInput(const FrameEvent& evt); virtual bool processUnbufferedMouseInput(const FrameEvent& evt); virtual void moveCamera(); virtual bool frameStarted(const FrameEvent& evt); virtual bool frameEnded(const FrameEvent& evt); void showDebugOverlay(bool show); void switchMouseMode(); void switchKeyMode(); bool keyPressed( const OIS::KeyEvent &arg ); bool keyReleased( const OIS::KeyEvent &arg ); bool mouseMoved( const OIS::MouseEvent &arg ); bool mousePressed( const OIS::MouseEvent &arg, OIS::MouseButtonID id ); bool mouseReleased( const OIS::MouseEvent &arg, OIS::MouseButtonID id ); CEGUI::MouseButton convertButton(OIS::MouseButtonID buttonID); //Adjust mouse clipping area virtual void windowResized(RenderWindow* rw); //Unattach OIS before window shutdown (very important under Linux) virtual void windowClosed(RenderWindow* rw); Root *mRoot; Camera* mCamera; SceneManager* mSceneMgr; RenderWindow* mWindow; int mSceneDetailIndex ; Real mMoveSpeed; Degree mRotateSpeed; Overlay* mDebugOverlay; std::string mDebugText; //OIS Input devices OIS::InputManager* mInputManager; OIS::Mouse* mMouse; OIS::Keyboard* mKeyboard; Vector3 mTranslateVector; bool mStatsOn; bool mUseBufferedInputKeys, mUseBufferedInputMouse, mInputTypeSwitchingOn; unsigned int mNumScreenShots; float mMoveScale; Degree mRotScale; Real mTimeUntilNextToggle; // just to stop toggles flipping too fast Radian mRotX, mRotY; TextureFilterOptions mFiltering; int mAniso; bool mKeyPressed[OIS::KC_MEDIASELECT]; }; #endif // #ifndef __BaseApplication_h_