mod_sim_mode_demo.hh

Go to the documentation of this file.
00001 /*
00008  * LEGAL:   COPYRIGHT (C) 2007 JIM E. BROOKS
00009  *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
00010  *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
00011  *****************************************************************************/
00012 
00013 #if COMPILING_MODULE_SIM
00014 #ifndef MOD_SIM_MODE_DEMO_HH
00015 #define MOD_SIM_MODE_DEMO_HH 1
00016 
00017 #include "mod_base_craft.hh"
00018 #include "mod_base_keyboard.hh"
00019 using namespace mod_base;
00020 #include "mod_sim_craft.hh"
00021 #include "mod_sim_keyboard.hh"
00022 
00023 namespace mod_sim {
00024 
00028 class DemoMode : public mod_base::ModuleMode
00029 {
00030 
00031 public:
00032                     DemoMode( void );
00033                     ~DemoMode();
00034     void            Start( void );
00035 
00036 // ModuleMode interface:
00037 private:
00038     virtual void    ResetScene( void );
00039     virtual bool    IfEyeMode( void ) { return false; }  
00040     virtual bool    IfDemoMode( void ) { return true; }
00041 
00042 private:
00043     WorldVertex     GetInitialEyePosition( void );
00044     WorldVertex     GetInitialProxyCraftPosition( void );
00045     void            Animate( void );
00046     void            TimerEvent( const Milliseconds millisecElapsed );
00047     void            IdleEvent( void );
00048     void            KeyboardEvent( const inp::Keyboard::Event& keyEvent );
00049 
00050 private:
00051     SharedPtr0<Craft>       mCurrentCraft;
00052     shptr0<ProxyCraft>  mProxyCraft;            
00053     bool                mOverdrive;             
00054 };
00055 
00056 } // namespace mod_sim
00057 
00058 #endif // MOD_SIM_MODE_DEMO_HH
00059 #endif // COMPILING_MODULE_SIM
Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:13 2007