Skip to main content

History: IntermediateTutorial1SourceCurrent

Source of version: 1

Copy to clipboard
            
{CODE(caption="BasicApp.h", wrap="1", colors="c++")}
#ifndef BASICAPP_H
#define BASICAPP_H

#include <OgreRoot.h>
#include <OgreCamera.h>
#include <OgreViewport.h>
#include <OgreSceneManager.h>
#include <OgreRenderWindow.h>
#include <OgreConfigFile.h>
#include <OgreException.h>
#include <OgreEntity.h>
#include <OgreFrameListener.h>
#include <OgreWindowEventUtilities.h>
#include <OgreTerrain.h>
#include <OgreTerrainGroup.h>

#include <OISEvents.h>
#include <OISInputManager.h>
#include <OISKeyboard.h>
#include <OISMouse.h>

#include <CEGUI/CEGUI.h>
#include <CEGUI/RendererModules/Ogre/Renderer.h>

#include <SdkCameraMan.h>

class BasicApp
  : public Ogre::WindowEventListener,
    public Ogre::FrameListener,
    public OIS::KeyListener,
    public OIS::MouseListener
{
public:
  BasicApp();
  ~BasicApp();

  void go();

private:
  virtual bool frameRenderingQueued(const Ogre::FrameEvent& fe);

  virtual bool keyPressed(const OIS::KeyEvent& ke);
  virtual bool keyReleased(const OIS::KeyEvent& ke);

  virtual bool mouseMoved(const OIS::MouseEvent& me);
  virtual bool mousePressed(const OIS::MouseEvent& me, OIS::MouseButtonID id);
  virtual bool mouseReleased(const OIS::MouseEvent& me, OIS::MouseButtonID id);

  virtual void windowResized(Ogre::RenderWindow* rw);
  virtual void windowClosed(Ogre::RenderWindow* rw);

  bool setup();
  bool configure();
  void chooseSceneManager();
  void createCamera();
  void createScene();
  void destroyScene();
  void createFrameListener();
  void createViewports();
  void setupResources();
  void createResourceListener();
  void loadResources();

  bool mShutdown;

  Ogre::Root* mRoot;
  Ogre::Camera* mCamera;
  Ogre::SceneManager* mSceneMgr;
  Ogre::RenderWindow* mWindow;
  Ogre::String mResourcesCfg;
  Ogre::String mPluginsCfg;

  OgreBites::SdkCameraMan* mCameraMan;
  
  // CEGUI
  bool setupCEGUI();
  
  CEGUI::OgreRenderer* mRenderer;

  // OIS
  OIS::Mouse* mMouse;
  OIS::Keyboard* mKeyboard;
  OIS::InputManager* mInputMgr;

  // Tutorial Section
  bool nextLocation();

  Ogre::Real mDistance;
  Ogre::Vector3 mDirection;
  Ogre::Vector3 mDestination;
  Ogre::AnimationState* mAnimationState;
  Ogre::Entity* mEntity;
  Ogre::SceneNode* mNode;
  std::deque<Ogre::Vector3> mWalkList;
  Ogre::Real mWalkSpd;
};

#endif
{CODE}

        

History

Information Version
Thu 26 of Mar, 2015 10:10 GMT-0000 kabbotta 10
Wed 25 of Mar, 2015 04:28 GMT-0000 kabbotta 9
Wed 25 of Mar, 2015 02:36 GMT-0000 kabbotta 8
Tue 24 of Mar, 2015 00:52 GMT-0000 kabbotta 7
Tue 24 of Mar, 2015 00:47 GMT-0000 kabbotta 6
Mon 23 of Mar, 2015 21:06 GMT-0000 kabbotta 5
Mon 23 of Mar, 2015 21:04 GMT-0000 kabbotta 4
Mon 23 of Mar, 2015 21:03 GMT-0000 kabbotta 3
Mon 23 of Mar, 2015 09:27 GMT-0000 kabbotta 2
Mon 23 of Mar, 2015 09:25 GMT-0000 kabbotta 1