OgreStartup Class Reference

#include <ogrestartup.h>

Inheritance diagram for OgreStartup:

Inheritance graph
[legend]

List of all members.


Detailed Description

Definition at line 12 of file ogrestartup.h.


Public Member Functions

 OgreStartup ()
 ~OgreStartup ()
virtual void go (void)

Protected Member Functions

void startLog (void)
virtual void createRoot (void)
virtual void createFrameListener (void)=0
virtual void createScene (void)=0
virtual void createCamera (void)
virtual void createRenderWindow (void)
virtual void initializeResourceGroups (void)
virtual void defineResources (void)
virtual void setupCEGUI (void)
virtual void setupRenderSystem (void)
virtual void setupScene (void)
virtual void setupViewport (void)
virtual void setupInputSystem (void)
virtual void setupAudioSystem (void)
virtual void windowResized (RenderWindow *rw)
virtual void startRenderLoop (void)

Protected Attributes

Camera * mCamera
CEGUI::OgreCEGUIRenderer * mRenderer
CEGUI::System * mSystem
OgreAL::SoundManager * mSoundMgr
OIS::InputManager * mInputManager
OIS::Keyboard * mKeyboard
OIS::Mouse * mMouse
RenderWindow * mWindow
Root * mRoot
SceneManager * mSceneMgr

Constructor & Destructor Documentation

OgreStartup::OgreStartup (  ) 

Definition at line 5 of file ogrestartup.cpp.

00005                         {
00006 }

OgreStartup::~OgreStartup (  ) 

Definition at line 8 of file ogrestartup.cpp.

References mInputManager, mKeyboard, mMouse, mRenderer, mRoot, mSystem, and mWindow.

00008                          {
00009   WindowEventUtilities::removeWindowEventListener(mWindow, this);
00010   mInputManager->destroyInputObject(mKeyboard);
00011   mInputManager->destroyInputObject(mMouse);
00012   OIS::InputManager::destroyInputSystem(mInputManager);
00013   delete mSystem;
00014   delete mRenderer;
00015   delete mRoot;
00016 }


Member Function Documentation

void OgreStartup::go ( void   )  [virtual]

Definition at line 18 of file ogrestartup.cpp.

References createCamera(), createFrameListener(), createRenderWindow(), createRoot(), createScene(), defineResources(), initializeResourceGroups(), setupCEGUI(), setupInputSystem(), setupRenderSystem(), setupScene(), setupViewport(), startLog(), and startRenderLoop().

00018                         {
00019   startLog();
00020   createRoot();
00021   defineResources();
00022   setupRenderSystem();
00023   createRenderWindow();
00024   setupScene();
00025   createCamera();
00026   setupViewport();
00027   initializeResourceGroups();
00028 //  setupAudioSystem();
00029   setupCEGUI();
00030   setupInputSystem();
00031   createScene();
00032   createFrameListener();
00033   startRenderLoop();
00034 }

Here is the call graph for this function:

void OgreStartup::startLog ( void   )  [protected]

Definition at line 36 of file ogrestartup.cpp.

Referenced by go().

00036                               {
00037   LogManager *logMgr = new LogManager();
00038   logMgr->createLog("OgreViewer.log",true, true, false);
00039 }

Here is the caller graph for this function:

void OgreStartup::createRoot ( void   )  [protected, virtual]

Definition at line 41 of file ogrestartup.cpp.

References mRoot.

Referenced by go().

00041                                 {
00042   mRoot = new Root();
00043 }

Here is the caller graph for this function:

virtual void OgreStartup::createFrameListener ( void   )  [protected, pure virtual]

Implemented in OgreViewer.

Referenced by go().

Here is the caller graph for this function:

virtual void OgreStartup::createScene ( void   )  [protected, pure virtual]

Implemented in OgreViewer.

Referenced by go().

Here is the caller graph for this function:

void OgreStartup::createCamera ( void   )  [protected, virtual]

Definition at line 83 of file ogrestartup.cpp.

References mCamera, and mSceneMgr.

Referenced by go().

00083                                   {
00084   mCamera = mSceneMgr->createCamera("DefaultCamera");
00085   mCamera->setNearClipDistance(5);
00086   mCamera->setFarClipDistance(8000);
00087   mSceneMgr->getRootSceneNode()->createChildSceneNode("CameraNode")->attachObject(mCamera);
00088 }

Here is the caller graph for this function:

void OgreStartup::createRenderWindow ( void   )  [protected, virtual]

Definition at line 67 of file ogrestartup.cpp.

References mRoot, and mWindow.

Referenced by go().

00067                                         {
00068   mWindow = mRoot->initialise(true, "Desert Challenge");
00069 #ifdef DEBUG
00070   //mWindow->setFullscreen(false,800,600);
00071   //mWindow->resize(800,600);
00072 #endif
00073 }

Here is the caller graph for this function:

void OgreStartup::initializeResourceGroups ( void   )  [protected, virtual]

Definition at line 75 of file ogrestartup.cpp.

Referenced by go().

00075                                               {
00076   ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
00077 }

Here is the caller graph for this function:

void OgreStartup::defineResources ( void   )  [protected, virtual]

Definition at line 45 of file ogrestartup.cpp.

Referenced by go().

00045                                      {
00046   String secName, typeName, archName;
00047   ConfigFile cf;
00048   cf.load("resources.cfg");
00049   ConfigFile::SectionIterator seci = cf.getSectionIterator();
00050   while(seci.hasMoreElements()){
00051     secName = seci.peekNextKey();
00052     ConfigFile::SettingsMultiMap *settings = seci.getNext();
00053     ConfigFile::SettingsMultiMap::iterator i;
00054     for(i = settings->begin(); i!= settings->end(); ++i){
00055       typeName = i->first;
00056       archName = i->second;
00057       ResourceGroupManager::getSingleton().addResourceLocation(archName, typeName, secName);
00058     }
00059   }
00060 }

Here is the caller graph for this function:

void OgreStartup::setupCEGUI ( void   )  [protected, virtual]

Definition at line 132 of file ogrestartup.cpp.

References mRenderer, mRoot, mSceneMgr, mSystem, and mWindow.

Referenced by go().

00132                                 {
00133   mWindow   = mRoot->getAutoCreatedWindow();
00134   mRenderer = new CEGUI::OgreCEGUIRenderer(mWindow, Ogre::RENDER_QUEUE_OVERLAY, false, 3000, mSceneMgr);
00135   mSystem   = new CEGUI::System(mRenderer);
00136 }

Here is the caller graph for this function:

void OgreStartup::setupRenderSystem ( void   )  [protected, virtual]

Definition at line 62 of file ogrestartup.cpp.

References mRoot.

Referenced by go().

00062                                        {
00063   if(!mRoot->restoreConfig() && !mRoot->showConfigDialog())
00064   throw Exception(52, "User canceled the config dialog.", "OgreStartup::setupRenderSystem()");
00065 }

Here is the caller graph for this function:

void OgreStartup::setupScene ( void   )  [protected, virtual]

Definition at line 79 of file ogrestartup.cpp.

References mRoot, and mSceneMgr.

Referenced by go().

00079                                 {
00080   mSceneMgr = mRoot->createSceneManager(ST_GENERIC);
00081 }

Here is the caller graph for this function:

void OgreStartup::setupViewport ( void   )  [protected, virtual]

Definition at line 90 of file ogrestartup.cpp.

References mCamera, and mWindow.

Referenced by go().

00090                                    {
00091   Viewport *vp = mWindow->addViewport(mCamera);
00092   vp->setBackgroundColour( ColourValue(0, 0, 0.0) );
00093   mCamera->setAspectRatio( Real(vp->getActualWidth()) / Real(vp->getActualHeight()) );
00094   TextureManager::getSingleton().setDefaultNumMipmaps(9);
00095 }

Here is the caller graph for this function:

void OgreStartup::setupInputSystem ( void   )  [protected, virtual]

Definition at line 97 of file ogrestartup.cpp.

References mInputManager, mKeyboard, mMouse, mRoot, mWindow, and windowResized().

Referenced by go().

00097                                       {
00098   size_t windowHnd = 0;
00099   std::ostringstream windowHndStr;
00100   OIS::ParamList pl;
00101   RenderWindow *win = mRoot->getAutoCreatedWindow();
00102 
00103   win->getCustomAttribute("WINDOW",&windowHnd);
00104   windowHndStr << windowHnd;
00105   pl.insert(std::make_pair(std::string("WINDOW"), windowHndStr.str()));
00106   mInputManager = OIS::InputManager::createInputSystem(pl);
00107 
00108   try{
00109     mKeyboard = static_cast<OIS::Keyboard*>(mInputManager->createInputObject(OIS::OISKeyboard, false));
00110   }catch(const OIS::Exception &e){
00111     throw Exception(42, e.eText, "OgreStartup::setupInputSystem");
00112   }
00113   // THIS games itself has no need of mouse, so if it failes, we just ignore
00114   try{
00115     mMouse    = static_cast<OIS::Mouse*>(mInputManager->createInputObject(OIS::OISMouse, true));
00116   }catch(...){
00117     mMouse    = 0;
00118   }
00119   windowResized(mWindow);
00120   WindowEventUtilities::addWindowEventListener(mWindow, this);
00121 }

Here is the call graph for this function:

Here is the caller graph for this function:

void OgreStartup::setupAudioSystem ( void   )  [protected, virtual]

Definition at line 138 of file ogrestartup.cpp.

References mSoundMgr.

00138                                       {
00139   mSoundMgr = new OgreAL::SoundManager();
00140 }

void OgreStartup::windowResized ( RenderWindow *  rw  )  [protected, virtual]

Definition at line 123 of file ogrestartup.cpp.

References mMouse.

Referenced by setupInputSystem().

00123                                                {
00124   unsigned int width, height, depth;
00125   int left, top;
00126   rw->getMetrics(width, height, depth, left, top);
00127   const OIS::MouseState &ms = mMouse->getMouseState();
00128   ms.width = width;
00129   ms.height = height;
00130 }

Here is the caller graph for this function:

void OgreStartup::startRenderLoop ( void   )  [protected, virtual]

Definition at line 142 of file ogrestartup.cpp.

References mRoot.

Referenced by go().

00142                                      {
00143   mRoot->startRendering();
00144 }

Here is the caller graph for this function:


Member Data Documentation

Camera* OgreStartup::mCamera [protected]

Definition at line 35 of file ogrestartup.h.

Referenced by createCamera(), OgreViewer::createFrameListener(), and setupViewport().

CEGUI::OgreCEGUIRenderer* OgreStartup::mRenderer [protected]

Definition at line 36 of file ogrestartup.h.

Referenced by setupCEGUI(), and ~OgreStartup().

CEGUI::System* OgreStartup::mSystem [protected]

Definition at line 37 of file ogrestartup.h.

Referenced by setupCEGUI(), and ~OgreStartup().

OgreAL::SoundManager* OgreStartup::mSoundMgr [protected]

Definition at line 38 of file ogrestartup.h.

Referenced by setupAudioSystem().

OIS::InputManager* OgreStartup::mInputManager [protected]

Definition at line 39 of file ogrestartup.h.

Referenced by setupInputSystem(), and ~OgreStartup().

OIS::Keyboard* OgreStartup::mKeyboard [protected]

OIS::Mouse* OgreStartup::mMouse [protected]

RenderWindow* OgreStartup::mWindow [protected]

Root* OgreStartup::mRoot [protected]

SceneManager* OgreStartup::mSceneMgr [protected]


The documentation for this class was generated from the following files:

Generated on Thu Feb 5 08:48:34 2009 for OgreViewer by  doxygen 1.5.6