All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BuildingHighlightCreateParams.h
1 #pragma once
2 
3 #include "BuildingHighlights.h"
4 #include "LatLongAltitude.h"
5 #include "VectorMath.h"
6 
7 #include <array>
8 
9 namespace Eegeo
10 {
11  namespace BuildingHighlights
12  {
13  namespace BuildingHighlightSelectionMode
14  {
15  enum Type
16  {
17  SelectAtLocation,
18  SelectAtScreenPoint
19  };
20  }
21 
23  {
25 
27  BuildingHighlightSelectionMode::Type selectionMode,
28  const Space::LatLong& selectionLocation,
29  const v2& selectionScreenPoint,
30  const v4& highlightColor,
31  const std::vector<std::array<float, 2>>& highlightHeightRanges,
32  const bool shouldCreateView
33  );
34 
35 
36  BuildingHighlightSelectionMode::Type GetSelectionMode() const { return m_selectionMode; }
37  const Space::LatLong& GetSelectionLocation() const { return m_selectionLocation; }
38  const v2& GetSelectionScreenPoint() const { return m_selectionScreenPoint; }
39  const v4& GetHighlightColor() const { return m_highlightColor; }
40  const std::vector<std::array<float, 2>>& GetHighlightHeightRanges() const { return m_highlightHeightRanges; }
41  bool GetShouldCreateView() const { return m_shouldCreateView; }
42 
43  private:
44  BuildingHighlightSelectionMode::Type m_selectionMode;
45  Space::LatLong m_selectionLocation;
46  v2 m_selectionScreenPoint;
47  v4 m_highlightColor;
48  std::vector<std::array<float, 2>> m_highlightHeightRanges;
49  bool m_shouldCreateView;
50  };
51 
52  }
53 }