All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorsHighlightController.h
1 // Copyright eeGeo Ltd (2012-2017), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Interiors.h"
7 #include "VectorMath.h"
8 #include "ICallback.h"
9 #include <vector>
10 
11 namespace Eegeo
12 {
13  namespace Resources
14  {
15  namespace Interiors
16  {
17  namespace Highlights
18  {
20  {
21  public:
23  Resources::Interiors::InteriorInteractionModel& interiorInteractionModel,
24  Highlights::IInteriorsHighlightRepository& highlightRepository,
25  Resources::Interiors::InteriorsInstanceRepository& interiorsInstanceRepository);
27  private:
28  void RefreshHighlights();
29  void RefreshEntityHighlights();
30  void RefreshAreaHighlights();
31  void UpdateEntityList(const std::vector<InteriorsHighlightKey>& keys, const InteriorHighlightStyle& highlightStyle);
32  void OnHighlightChanged(const std::vector<Highlights::InteriorsHighlightKey>& keys, const InteriorHighlightStyle& highlightStyle);
33 
34  const v4 ColorClearWhite = v4(1.f,1.f,1.f,0.f);
35 
36  Resources::Interiors::InteriorInteractionModel& m_interiorInteractionModel;
37  Highlights::IInteriorsHighlightRepository& m_interiorsHighlightRepository;
38  Resources::Interiors::InteriorsInstanceRepository& m_interiorsInstanceRepository;
39 
42  Eegeo::Helpers::TCallback0<InteriorsHighlightController> m_interiorsInstanceRepositoryChangedCallback;
43  };
44  }
45  }
46  }
47 }