All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IBuildingHighlightRenderableUpdateService.h
1 #pragma once
2 
3 #include "BuildingHighlights.h"
4 #include "VectorMath.h"
5 
6 #include <array>
7 #include <vector>
8 
9 namespace Eegeo
10 {
11  namespace BuildingHighlights
12  {
13  /*
14  * When not using native rendering, something will need telling about changes to graphical attributes.
15  * This is the interface for doing that.
16  *
17  * TODO: Is this class stupid?
18  * For building information, it goes through a callback in the buildings API set up in AppOnMapUnity, but for the actual mesh data it goes via the mesh upload service.
19  * This situation is more like the latter, so this class works similarly, but I have a non-specific bad feeling about it.
20  */
22  {
23  public:
24  virtual ~IBuildingHighlightRenderableUpdateService() = default;
25 
26  virtual void SetColor(BuildingHighlightId modelId, const v4& color) = 0;
27 
28  virtual void SetHeightClipPlanes(BuildingHighlightId modelId, const std::vector<std::array<v4, 2>>& heightClipPlanes) = 0;
29  };
30  }
31 }