All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IWorldState.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "VectorMathDecl.h"
6 #include "Camera.h"
7 #include "Helpers.h"
8 #include "IChangeStateCallback.h"
9 #include "IStreamingVolume.h"
10 #include <string>
11 
12 namespace Eegeo
13 {
14  namespace WorldStates
15  {
17  {
18  public:
19  virtual ~IWorldState(){ }
20  virtual void Enter() = 0;
21 
22  virtual void Update(float dt,
23  const Camera::RenderCamera& renderCamera,
24  const dv3& ecefInterestPoint,
25  Streaming::IStreamingVolume& streamingVolume
26  ) = 0;
27 
28  virtual void Exit() = 0;
29  virtual void SetChangeStateCallback(IChangeStateCallback* changeStateCallback) = 0;
30  virtual std::string GetStateName() const = 0;
31  virtual float GetProgress() const = 0;
32  };
33  }
34 }