All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ScreenSpaceRouteView.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Routes.h"
6 #include "Types.h"
7 #include "IRouteView.h"
8 #include "RouteViewBaseComponent.h"
9 
10 namespace Eegeo
11 {
12  namespace Routes
13  {
14  namespace View
15  {
17  {
18  public:
19 
21  RouteViewBaseComponent* routeViewBaseComponent);
22 
23  virtual ~ScreenSpaceRouteView();
24 
25  virtual Rendering::RenderableBase* GetRenderable() const;
26 
27  virtual const Route* GetRoute() const { return m_routeViewBaseComponent->GetRoute(); }
28 
29  virtual const Streaming::MortonKey& GetKey() const { return m_routeViewBaseComponent->GetKey(); }
30 
31  virtual void Update(const Eegeo::Rendering::RenderContext& renderContext,
32  bool depthTestEnabled,
33  bool wireframe);
34 
35  virtual size_t GetNumTriangles() const;
36 
37  virtual bool ShouldDraw() const;
38 
39  private:
40  ScreenSpaceRouteViewRenderable* const m_pScreenSpaceRenderable;
41  RouteViewBaseComponent* const m_routeViewBaseComponent;
42 
43  };
44  }
45  }
46 }