source: GTP/trunk/Lib/Illum/IBRBillboardCloudTrees/OGRE/include/OBA/OBAOgreFrameListenerMode.h @ 962

Revision 962, 2.4 KB checked in by igarcia, 18 years ago (diff)
Line 
1#ifndef _OBAOGREFRAMELISTENERMODE_H
2#define _OBAOGREFRAMELISTENERMODE_H
3
4#include <OBAPrerequisites.h>
5
6namespace OBA {
7
8// Callback handler to post-process created objects
9class OSceneCallback : public OSMSceneCallbacks
10{
11        public:
12                // We override the OnCreate method for cameras (See IXMLSceneCallbacks class)
13                void OnCameraCreate(Ogre::Camera* pCamera, TiXmlElement* pCameraDesc);
14
15};
16
17class _OBAExport OgreFrameListenerMode: public Ogre::KeyListener
18{
19  protected:
20        Ogre::Real mMoveSpeed;
21        Ogre::Degree mRotateSpeed;
22        Ogre::Overlay* mDebugOverlay;   
23    Ogre::Camera* mCamera;
24    Ogre::Vector3 mTranslateVector;
25    Ogre::RenderWindow* mWindow;
26    Ogre::Degree mRotScale;
27    // just to stop toggles flipping too fast
28    Ogre::Real mTimeUntilNextToggle ;
29    Ogre::Radian mRotX, mRotY;
30    Ogre::TextureFilterOptions mFiltering;
31        Ogre::SceneManager *mSceneMgr;
32    int mAniso;
33        int mSceneDetailIndex;
34    bool mStatsOn;
35        bool mUseBufferedInputKeys, mUseBufferedInputMouse, mInputTypeSwitchingOn;
36    float mMoveScale;
37        unsigned int mNumScreenShots;
38        unsigned int mOgreFrameListenerModeHandle;     
39        Ogre::InputReader *mInputDevice;
40        // Create the scene loader
41        OSMScene* mOScene;
42
43  public:
44
45    OgreFrameListenerMode(Ogre::RenderWindow* win, unsigned int ogreFrameListenerModeHandle, bool useBufferedInputKeys = false, bool useBufferedInputMouse = false);
46
47    virtual ~OgreFrameListenerMode();
48
49    virtual void chooseSceneManager(void);
50
51        virtual Ogre::SceneManager* getSceneManager(void);
52
53    virtual void createCamera(void);
54
55        virtual void createViewports(void);
56
57        virtual Ogre::Camera* getCamera();
58
59        virtual bool frameStarted(const Ogre::FrameEvent& evt, Ogre::InputReader *inputReader);
60
61        virtual bool frameEnded(const Ogre::FrameEvent& evt);
62
63    virtual void switchMouseMode();
64
65    virtual void switchKeyMode();
66
67        virtual void keyClicked(Ogre::KeyEvent* e);
68
69        virtual void keyPressed(Ogre::KeyEvent* e);
70
71        virtual void keyReleased(Ogre::KeyEvent* e);
72
73        virtual bool processUnbufferedKeyInput(const Ogre::FrameEvent& evt);
74
75        virtual bool processUnbufferedMouseInput(const Ogre::FrameEvent& evt);
76
77    virtual void moveCamera();
78
79    virtual void showDebugOverlay(bool show);
80
81        virtual void updateStats(void);
82
83        virtual void createScene(void);    // pure virtual - this has to be overridden
84
85        virtual void destroyScene(void);    // Optional to override this
86
87        unsigned int getHandle();
88
89        virtual void loadScene(Ogre::String filename);
90};
91
92}
93#endif
Note: See TracBrowser for help on using the repository browser.