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