All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ExternalBuildingHighlightView.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 #include "IMeshUploadService.h"
10 
11 #include <vector>
12 
13 namespace Eegeo
14 {
15  namespace BuildingHighlights
16  {
18  {
19  public:
21  BuildingHighlightId modelId,
22  const v4& color,
23  const std::vector<std::array<v4, 2>>& heightClipPlanes,
24  Rendering::IMeshUploadService& meshUploadService,
25  BuildingHighlights::IBuildingHighlightRenderableUpdateService* pBuildingHighlightRenderableUpdateService,
26  const std::vector<std::string>& externalMeshIdentifiers
27  );
28 
30 
31  BuildingHighlightId GetModelId() const override { return m_modelId; }
32 
33  const std::vector<RenderableType*>& GetRenderables() const override { return m_emptyRenderables; }
34 
35  void SetColor(const v4& color) override;
36  const v4& GetColor() const override { return m_color; }
37 
38  void SetHeightClipPlanes(const std::vector<std::array<v4, 2>>& heightClipPlanes) override;
39  const std::vector<std::array<v4, 2>>& GetHeightClipPlanes() const override { return m_heightClipPlanes; };
40 
41  private:
42  BuildingHighlightId m_modelId;
43  v4 m_color;
44  std::vector<std::array<v4, 2>> m_heightClipPlanes;
45  Rendering::IMeshUploadService& m_meshUploadService;
46  BuildingHighlights::IBuildingHighlightRenderableUpdateService* const m_pBuildingHighlightRenderableUpdateService;
47  const std::vector<std::string> m_externalMeshIdentifiers;
48  std::vector<RenderableType*> m_emptyRenderables;
49  };
50  }
51 }