All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BuildingHighlightView.h
1 #pragma once
2 
3 #include "BuildingHighlights.h"
4 #include "Types.h"
5 #include "VectorMath.h"
6 #include "CollisionVisualization.h"
7 #include "Rendering.h"
8 #include "IBuildingHighlightView.h"
9 
10 #include <vector>
11 
12 namespace Eegeo
13 {
14  namespace BuildingHighlights
15  {
17  {
18  public:
21  BuildingHighlightId modelId,
22  const v4& color,
23  const std::vector<std::array<v4, 2>>& heightClipPlanes,
24  const std::vector<RenderableType*>& renderables
25  );
26 
28 
29  BuildingHighlightId GetModelId() const override { return m_modelId; }
30 
31  const std::vector<RenderableType*>& GetRenderables() const override { return m_renderables; }
32 
33  void SetColor(const v4& color) override;
34  const v4& GetColor() const override { return m_color; }
35 
36  void SetHeightClipPlanes(const std::vector<std::array<v4, 2>>& heightClipPlanes) override;
37  const std::vector<std::array<v4, 2>>& GetHeightClipPlanes() const override { return m_heightClipPlanes; };
38 
39  private:
40  BuildingHighlightId m_modelId;
41  v4 m_color;
42  std::vector<std::array<v4, 2>> m_heightClipPlanes;
43  std::vector<RenderableType*> m_renderables;
44  };
45  }
46 }