All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RouteSimulationModelBinding.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "BasicRenderable.h"
6 #include "Routes.h"
7 #include "Rendering.h"
8 #include "Lighting.h"
9 #include "VectorMath.h"
10 
11 namespace Eegeo
12 {
13  namespace Routes
14  {
15  namespace Simulation
16  {
17  namespace View
18  {
20  {
21  const RouteSimulationSession& m_routeSimulationSession;
22  Rendering::Filters::SceneModelRenderableFilter& m_sceneModelRenderableFilter;
23 
24  bool m_enabled;
26  Eegeo::m44 m_transform;
27  float m_alpha;
28  Rendering::LayerIds::Values m_layerId;
29 
30  dv3 m_cameraEcefLocation;
31 
32  public:
33  RouteSimulationModelBinding(Rendering::LayerIds::Values layerId,
34  const RouteSimulationSession& routeSimulationSession,
35  Rendering::Filters::SceneModelRenderableFilter& sceneModelRenderableFilter);
37 
38  bool GetEnabled() const;
39 
40  void SetEnabled(bool enabled);
41 
42  void SetModelTransform(const Eegeo::m44& transform);
43  const m44& GetModelTransform() const;
44 
45  void SetModel(Rendering::SceneModels::SceneModel* pSceneModel);
46  const Rendering::SceneModels::SceneModel* GetModel() const;
47 
48  void SetAlpha(float alpha);
49  float GetAlpha(void) const;
50 
51  void Update();
52  };
53  }
54  }
55  }
56 }