Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/ColladaPlugin/demo/include/ColladaDemo.h @ 29

Last change on this file since 29 was 21, checked in by nicolasc, 17 years ago

added ogreode and Colladaplugin

File size: 3.1 KB
Line 
1/*
2-----------------------------------------------------------------------------
3This source file is part of OGRE
4    (Object-oriented Graphics Rendering Engine)
5For the latest info, see http://www.ogre3d.org/
6
7Copyright (c) 2000-2006 The OGRE Team
8Also see acknowledgements in Readme.html
9
10You may use this sample code for anything you like, it is not covered by the
11LGPL like the rest of the engine.
12-----------------------------------------------------------------------------
13*/
14
15#ifndef _ColladaDemo_H_
16#define _ColladaDemo_H_
17
18#include "Ogre.h"
19#include "CEGUI/CEGUI.h"
20#include "CEGUI/CEGUIRenderer.h"
21
22//---------------------------------------------------------------------------
23class UIHandler;
24
25class ColladaDemo
26{
27protected:
28    Ogre::Root*                   mRoot;
29    Ogre::SceneManager*   mSceneMgr;
30    UIHandler*            mFrameListener;
31    Ogre::RenderWindow*   mWindow;
32    Ogre::Camera*         mActiveCamera;
33
34    CEGUI::Renderer*            mGUIRenderer;
35    CEGUI::System*        mGUISystem;
36    CEGUI::Window*        mLoadingWindow;
37    Ogre::String          mActiveDaeFileName;
38    unsigned int          mLastUpdateTime;
39    float                 mElapsedTime;
40    bool                  mAutoReload;
41    bool                  mLoadQued;
42    unsigned long         mLastFrameNumber;
43
44    // These internal methods package up the stages in the startup process
45    /** Sets up the application - returns false if the user chooses to abandon configuration. */
46    bool setup();
47
48        /** Configures the application - returns false if the user chooses to abandon configuration. */
49    bool configure();
50    void createDefaultCamera();
51    void createViewports();
52    void updateAvailableCameras();
53    void updateDaeFileList();
54
55    /// Method which will define the source of resources (other than current folder)
56    void setupResources();
57    bool setupGUI();
58        void createFrameListener();
59
60        void initDemoEventWiring();
61
62        void doErrorBox(const char* text);
63    void viewColladaDocument(const Ogre::String& daeFileName);
64
65        bool handleQuit(const CEGUI::EventArgs& e);
66        bool handleDaeComboChanged(const CEGUI::EventArgs& e);
67    bool handleCameraComboChanged(const CEGUI::EventArgs& e);
68    bool handleAutoReloadChanged(const CEGUI::EventArgs& e);
69        bool handleErrorBox(const CEGUI::EventArgs& e);
70    bool handleUpdateList(const CEGUI::EventArgs& e);
71
72public:
73        ColladaDemo()
74        : mRoot(0)
75        , mFrameListener(0)
76        , mGUIRenderer(0)
77        , mGUISystem(0)
78        , mLoadingWindow(0)
79        , mLastUpdateTime(0)
80        , mElapsedTime(0.0)
81        , mAutoReload(false)
82        , mLoadQued(false)
83        , mLastFrameNumber(0)
84    {
85    }
86
87    ~ColladaDemo();
88
89    void go();
90
91    void ColladaDemo::setActiveCamera(const Ogre::String& cameraName);
92    Ogre::Camera* getActiveCamera() const { return mActiveCamera; }
93        Ogre::SceneManager* getSceneManager() const { return mSceneMgr; }
94        Ogre::RenderWindow* getRenderWindow() const { return mWindow; }
95
96    void clearScene();
97    void loadActiveDae();
98    void updateAutoReload(float time);
99    bool checkActiveFileUpdated();
100    void showLoadingWindow(const bool show);
101
102};
103
104
105#endif  // end _ColladaDemo_H_
Note: See TracBrowser for help on using the repository browser.