All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RouteViewBaseComponent.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "Routes.h"
5 #include "IRouteView.h"
6 #include "Positioning.h"
7 
8 namespace Eegeo
9 {
10  namespace Routes
11  {
12  namespace View
13  {
15  {
16  public:
17 
19  const std::string& indoorMapId,
20  const int indoorMapFloorId,
21  bool styleShouldDrawForCurrentFloorOnly,
22  const Fitting::FittedRoute& fittedRoute,
23  const Eegeo::Positioning::IPositioningViewComponent& positioningViewComponent);
24 
25  const Route* GetRoute() const;
26 
27  const Streaming::MortonKey& GetKey() const;
28 
29  const std::string& GetIndoorMapId() const { return m_indoorMapId; }
30 
31  int GetIndoorMapFloorId() const { return m_indoorMapFloorId; }
32 
33  float CalculateThickness() const;
34 
35  m44 CalcModelTransform(const dv3& renderablePosition,
36  const dv3& cameraPosition) const;
37 
38  bool ShouldDraw() const;
39  private:
40  const Style::Thickness::IRouteThicknessPolicy& m_thicknessPolicy;
41  std::string m_indoorMapId;
42  int m_indoorMapFloorId;
43  const bool m_styleShouldDrawForCurrentFloorOnly;
44  const Fitting::FittedRoute& m_fittedRoute;
45  const Eegeo::Positioning::IPositioningViewComponent& m_positioningViewComponent;
46 
47  };
48  }
49  }
50 }