All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IRouteView.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "Routes.h"
5 #include "Streaming.h"
6 #include "Rendering.h"
7 #include "VectorMath.h"
8 #include "Camera.h"
9 #include "MortonKey.h"
10 #include "Positioning.h"
11 
12 #include <string>
13 
14 namespace Eegeo
15 {
16  namespace Routes
17  {
18  namespace View
19  {
20  class IRouteView
21  {
22  public:
23 
24  virtual ~IRouteView() {}
25 
26  virtual Rendering::RenderableBase* GetRenderable() const = 0;
27 
28  virtual const Route* GetRoute() const = 0;
29 
30  virtual const Streaming::MortonKey& GetKey() const = 0;
31 
32  virtual void Update(const Eegeo::Rendering::RenderContext& renderContext,
33  bool depthTestEnabled,
34  bool wireframe) = 0;
35 
36  virtual bool ShouldDraw() const = 0;
37 
38  virtual size_t GetNumTriangles() const = 0;
39  };
40  }
41  }
42 }