Changeset 1638 for code/branches/gui/src/orxonox/GraphicsEngine.h
- Timestamp:
- Jul 20, 2008, 7:49:26 PM (17 years ago)
- Location:
- code/branches/gui
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/gui
-
Property
svn:mergeinfo
set to
/code/branches/input merged eligible
-
Property
svn:mergeinfo
set to
-
code/branches/gui/src/orxonox/GraphicsEngine.h
r1625 r1638 54 54 class _OrxonoxExport GraphicsEngine : public Ogre::WindowEventListener, public Ogre::LogListener, public OrxonoxClass 55 55 { 56 public: 57 void setConfigValues(); 58 bool setup(); 59 bool declareRessourceLocations(); 60 bool loadRenderer(); 61 bool initialiseResources(); 62 bool createNewScene(); 56 public: 57 GraphicsEngine(); 58 ~GraphicsEngine(); 63 59 64 void destroy(); 60 void setConfigValues(); 61 void setup(); 62 void declareRessourceLocations(); 63 bool loadRenderer(); 64 bool initialiseResources(); 65 bool createNewScene(); 65 66 66 Ogre::SceneManager* getSceneManager() { return scene_; } 67 void setLevelSceneManager(Ogre::SceneManager* sceneMgr) { this->levelSceneManager_ = sceneMgr; } 68 Ogre::SceneManager* getLevelSceneManager() { return levelSceneManager_; } 67 69 68 // several window properties 69 Ogre::RenderWindow* getRenderWindow() { return this->renderWindow_; } 70 size_t getWindowHandle(); 71 int getWindowWidth() const; 72 int getWindowHeight() const; 73 float getWindowAspectRatio() const; 74 float getAverageFramesPerSecond() const { return this->avgFramesPerSecond_; } 75 float getAverageTickTime() const { return this->avgTickTime_; } 76 void setAverageTickTime(float tickTime) { this->avgTickTime_ = tickTime; } 77 void setAverageFramesPerSecond(float fps) { this->avgFramesPerSecond_ = fps; } 70 Ogre::Viewport* getLevelViewport() { return this->levelViewport_; } 78 71 79 void setWindowActivity(bool activity) 80 { if (this->renderWindow_) this->renderWindow_->setActive(activity); } 72 // several window properties 73 Ogre::RenderWindow* getRenderWindow() { return this->renderWindow_; } 74 size_t getWindowHandle(); 75 int getWindowWidth() const; 76 int getWindowHeight() const; 77 float getWindowAspectRatio() const; 78 float getAverageFramesPerSecond() const { return this->avgFramesPerSecond_; } 79 float getAverageTickTime() const { return this->avgTickTime_; } 80 void setAverageTickTime(float tickTime) { this->avgTickTime_ = tickTime; } 81 void setAverageFramesPerSecond(float fps) { this->avgFramesPerSecond_ = fps; } 81 82 82 void windowMoved (Ogre::RenderWindow* rw); 83 void windowResized (Ogre::RenderWindow* rw); 84 void windowFocusChanged(Ogre::RenderWindow* rw); 85 void windowClosed (Ogre::RenderWindow* rw); 83 void setWindowActivity(bool activity) 84 { if (this->renderWindow_) this->renderWindow_->setActive(activity); } 86 85 87 88 86 inline unsigned int getDetailLevelParticle() const 87 { return this->detailLevelParticle_; } 89 88 90 91 89 static GraphicsEngine& getSingleton(); 90 static GraphicsEngine* getSingletonPtr() { return &getSingleton(); } 92 91 92 private: 93 // don't mess with singletons 94 GraphicsEngine(GraphicsEngine&) { } 93 95 94 private: 95 // don't mess with singletons 96 GraphicsEngine(); 97 ~GraphicsEngine(); 98 GraphicsEngine(GraphicsEngine&) { } 96 //! Method called by the LogListener from Ogre 97 void messageLogged(const std::string&, Ogre::LogMessageLevel, 98 bool, const std::string&); 99 99 100 //! Method called by the LogListener from Ogre 101 void messageLogged(const std::string&, Ogre::LogMessageLevel, 102 bool, const std::string&); 100 // window events from Ogre::WindowEventListener 101 void windowMoved (Ogre::RenderWindow* rw); 102 void windowResized (Ogre::RenderWindow* rw); 103 void windowFocusChanged(Ogre::RenderWindow* rw); 104 void windowClosed (Ogre::RenderWindow* rw); 103 105 104 Ogre::Root* root_; //!< Ogre's root 105 Ogre::SceneManager* scene_; //!< scene manager of the game 106 Ogre::RenderWindow* renderWindow_; //!< the current render window 107 std::string resourceFile_; //!< resources file name 108 std::string ogreConfigFile_; //!< ogre config file name 109 std::string ogrePluginsFile_; //!< ogre plugins file name 110 std::string ogreLogFile_; //!< log file name for Ogre log messages 111 int ogreLogLevelTrivial_; //!< Corresponding Orxonx debug level for LL_TRIVIAL 112 int ogreLogLevelNormal_; //!< Corresponding Orxonx debug level for LL_NORMAL 113 int ogreLogLevelCritical_; //!< Corresponding Orxonx debug level for LL_CRITICAL 114 unsigned int detailLevelParticle_; //!< Detail level of particle effects (0: off, 1: low, 2: normal, 3: high) 115 float avgTickTime_; //!< time in ms to tick() one frame 116 float avgFramesPerSecond_; //!< number of frames processed in one second 106 Ogre::Root* root_; //!< Ogre's root 107 Ogre::RenderWindow* renderWindow_; //!< the current render window 108 Ogre::SceneManager* levelSceneManager_; //!< scene manager of the game 109 Ogre::Viewport* levelViewport_; //!< default full size viewport for the level 110 111 // stats 112 float avgTickTime_; //!< time in ms to tick() one frame 113 float avgFramesPerSecond_; //!< number of frames processed in one second 114 115 // config values 116 std::string resourceFile_; //!< resources file name 117 std::string ogreConfigFile_; //!< ogre config file name 118 std::string ogrePluginsFile_; //!< ogre plugins file name 119 std::string ogreLogFile_; //!< log file name for Ogre log messages 120 int ogreLogLevelTrivial_; //!< Corresponding Orxonx debug level for LL_TRIVIAL 121 int ogreLogLevelNormal_; //!< Corresponding Orxonx debug level for LL_NORMAL 122 int ogreLogLevelCritical_; //!< Corresponding Orxonx debug level for LL_CRITICAL 123 unsigned int detailLevelParticle_; //!< Detail level of particle effects (0: off, 1: low, 2: normal, 3: high) 124 125 static GraphicsEngine* singletonRef_s; //!< Pointer to the Singleton 117 126 }; 118 127 }
Note: See TracChangeset
for help on using the changeset viewer.