All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
EmscriptenDebugModule.h
1 #pragma once
2 
3 #include "EegeoWorld.h"
4 #include "Commands.h"
5 #include "CommandTerminal.h"
6 #include "DebugFrustumVolumeProvider.h"
7 #include "DebugStats.h"
8 #include "EmscriptenDebugCommands.h"
9 #include "GlobeCamera.h"
10 #include "ICallback.h"
11 #include "ICameraJumpController.h"
12 #include "IFileIO.h"
13 #include "IFrustumVolumeProvider.h"
14 #include "IMemoryStats.h"
15 #include "PerformanceTestRunner.h"
16 #include "RenderCamera.h"
17 #include "ICameraJumpController.h"
18 
19 namespace Eegeo
20 {
21  namespace Emscripten
22  {
23  namespace Debug
24  {
26  {
27  public:
28  static EmscriptenDebugModule* Create(
29  Eegeo::EegeoWorld& world,
31  Eegeo::Debug::Commands::ICommandTerminalOutput& commandTerminalOutput);
32 
34 
35  void Update();
36  void SetCameraState(const Camera::CameraState& cameraState);
37 
38  Eegeo::Debug::Commands::CommandBuffer& GetCommandBuffer();
39 
40  private:
42  Eegeo::Debug::IMemoryStats* pMemoryStats,
43  Eegeo::Debug::DebugStats* pDebugStats,
44  Eegeo::Camera::ICameraJumpController* pCameraJumpController,
45  Eegeo::Debug::DebugFrustumVolumeProvider* pFrustumVolumeProvider,
46  Eegeo::Debug::Profile::PerformanceTestRunner* pPerformanceTestRunner,
52  Eegeo::Modules::TrafficModule& trafficModule,
55 
56  void HandlePerformanceTestStateChanged(const Eegeo::Debug::Profile::PerformanceTestState::Values& newState);
57 
58  void HandlePerformanceTestCompleted(const Eegeo::Debug::Profile::PerformanceTestReport& report);
59 
60  Eegeo::Debug::IMemoryStats* m_pMemoryStats;
61  Eegeo::Debug::DebugStats* m_pDebugStats;
62  Eegeo::Camera::ICameraJumpController* m_pCameraJumpController;
63  Eegeo::Debug::DebugFrustumVolumeProvider* m_pFrustumVolumeProvider;
64  Eegeo::Debug::Profile::PerformanceTestRunner* m_pPerformanceTestRunner;
65 
66  Eegeo::Debug::Commands::CommandBuffer* m_pCommandBuffer;
67  Eegeo::Debug::Commands::CommandRegistry* m_pCommandRegistry;
68  Eegeo::Debug::Commands::CommandParser* m_pCommandParser;
69  Eegeo::Debug::Commands::CommandTerminal* m_pCommandTerminal;
70  Eegeo::Debug::Commands::CommandProcessor* m_pCommandProcessor;
71 
72  Eegeo::Modules::TrafficModule& m_trafficModule;
73  Eegeo::Debug::Commands::ICommandTerminalOutput& m_commandTerminalOutput;
74 
77  };
78  }
79  }
80 }