All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RouteStyle.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Routes.h"
6 #include "LayerIds.h"
7 
8 namespace Eegeo
9 {
10  namespace Routes
11  {
12  namespace Style
13  {
14  class RouteStyle
15  {
16  public:
17  enum DebugStyle
18  {
19  DebugStyleNone = 0,
20  DebugStyleSegmented,
21  DebugStyleSegmentedWithDirection,
22  DebugStyleCellColours,
23  DebugStyleMax
24  };
25 
26  DebugStyle GetDebugStyle() const;
27  const Thickness::IRouteThicknessPolicy& GetThicknessPolicy() const;
28  Eegeo::Rendering::LayerIds::Values GetLayer() const;
29  bool ShouldDrawInScreenSpace() const;
30  bool ShouldDrawForCurrentFloorOnly() const;
31  float GetVerticalOffset() const;
32 
33  RouteStyle(const Thickness::IRouteThicknessPolicy* routeThicknessPolicy,
34  DebugStyle debugStyle,
35  Eegeo::Rendering::LayerIds::Values layer = Eegeo::Rendering::LayerIds::BeforeWorldTranslucency,
36  bool shouldDrawInScreenSpace = false,
37  bool shouldDrawForCurrentFloorOnly = false,
38  float verticalOffset = 2.f);
39 
40  private:
41  DebugStyle m_debugStyle;
42  Eegeo::Rendering::LayerIds::Values m_layer;
43  const Thickness::IRouteThicknessPolicy* m_thicknessPolicy;
44  bool m_shouldDrawInScreenSpace;
45  bool m_shouldDrawForCurrentFloorOnly;
46  float m_verticalOffset;
47  };
48  }
49  }
50 }