All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PolylineShapeRenderer.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "PolylineShapeArgs.h"
5 #include "IRenderableFilter.h"
6 #include "Rendering.h"
7 #include "Positioning.h"
8 
9 namespace Eegeo
10 {
11  namespace Shapes
12  {
13  namespace Polylines
14  {
16  {
17  public:
19  const Eegeo::Positioning::IPositioningViewComponent& positioningViewComponent);
20 
21  void EnqueueRenderables(const Rendering::RenderContext& renderContext, Rendering::RenderQueue& renderQueue);
22 
23  private:
24  m44 CalcModelTransform(const PolylineShapeArgs::ShapeView& view,
25  const dv3& ecefCameraPosition) const;
26 
27  void UpdateRenderable(const Rendering::RenderContext& renderContext, const PolylineShapeArgs::ShapeView& view);
28 
29  const PolylineShapeArgs::ShapeViewRepository& m_viewRepository;
30  const Eegeo::Positioning::IPositioningViewComponent& m_positioningViewComponent;
31 
32  std::vector<PolylineShapeArgs::ShapeView*> m_viewsScratchBuffer;
33  };
34  }
35  }
36 }
37 
38