All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorsHighlightService.h
1 // Copyright eeGeo Ltd (2012-2017), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Modules.h"
7 #include "Interiors.h"
8 #include "IInteriorsHighlightService.h"
9 
10 #include <string>
11 #include <vector>
12 
13 namespace Eegeo
14 {
15  namespace Resources
16  {
17  namespace Interiors
18  {
19  namespace Highlights
20  {
22  {
23  public:
25 
27 
28  virtual v4 GetHighlight(const std::string& interiorId, const std::string& entityId) const;
29  virtual bool IsHighlighted(const std::string& interiorId, const std::string& entityId) const;
30 
31  virtual void SetHighlight(const std::string& interiorId, const std::string& entityId, const v4& highlightColor);
32  virtual void SetHighlight(const std::string& interiorId, const std::string& entityId, const v4& highlightColor, const float highlightBorderThickness);
33  virtual void ClearHighlight(const std::string& interiorId, const std::string& entityId);
34 
35  virtual void SetHighlights(const std::string& interiorId, const std::vector<std::string>& entityIds, const v4& highlightColor);
36  virtual void SetHighlights(const std::string& interiorId, const std::vector<std::string>& entityIds, const v4& highlightColor, const float highlightBorderThickness);
37  virtual void ClearHighlights(const std::string& interiorId, const std::vector<std::string>& entityIds);
38 
39  virtual void ClearAllHighlights();
40  private:
41 
42  InteriorsHighlightKey GenerateHighlightKey(const std::string& interiorId, const std::string& entitityId) const;
43  IInteriorsHighlightRepository& m_highlightRepository;
44  };
45  }
46  }
47  }
48 }