All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RouteViewRenderableFactory.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "Routes.h"
5 #include "RouteViewRenderableFactory.h"
6 #include "Rendering.h"
7 #include "LayerIds.h"
8 #include "VectorMathDecl.h"
9 
10 namespace Eegeo
11 {
12  namespace Routes
13  {
14  namespace View
15  {
17  {
18  public:
19  RouteViewRenderableFactory(RouteViewMaterial& worldSpaceRouteViewMaterial,
20  ScreenSpaceRouteViewMaterial& screenSpaceRouteViewMaterial,
22 
23  virtual ~RouteViewRenderableFactory() {}
24 
25  virtual RouteViewRenderable* CreateWorldSpaceRouteViewRenderable(Rendering::Mesh* pMesh,
26  const dv3& ecefOrigin,
27  Eegeo::Rendering::LayerIds::Values renderLayer);
28 
29  virtual ScreenSpaceRouteViewRenderable* CreateScreenSpaceRouteViewRenderable(Rendering::Mesh* pMesh,
30  const dv3& ecefOrigin,
31  Eegeo::Rendering::LayerIds::Values renderLayer);
32 
33  private:
34  const Rendering::VertexLayouts::VertexBinding& GetVertexBinding(const Rendering::Mesh& mesh, const Rendering::Materials::IMaterial& material) const;
35 
36  RouteViewMaterial& m_worldSpaceRouteViewMaterial;
37  ScreenSpaceRouteViewMaterial& m_screenSpaceRouteViewMaterial;
39  };
40  }
41  }
42 }