All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PositioningViewComponent.h
1 #pragma once
2 
3 #include "Positioning.h"
4 #include "Types.h"
5 #include "IPositioningViewComponent.h"
6 #include "Rendering.h"
7 
8 namespace Eegeo
9 {
10  namespace Positioning
11  {
13  {
14  public:
16  const Rendering::EnvironmentFlatteningService& environmentFlatteningService,
18  PositioningViewComponentChangedEvent& positioningViewComponentChangedEvent);
19 
20  virtual ~PositioningViewComponent();
21 
22  virtual float GetMapCollapseScale() const;
23 
24  virtual Eegeo::MapLayers::MapViewMode::Type GetMapViewMode() const;
25 
26  virtual PositioningViewComponentChangedEvent& GetPositioningViewComponentChangedEvent() const;
27 
28  virtual bool IsSelectedIndoorMapFloor(const Resources::Interiors::InteriorId& indoorMapId, int indoorMapFloorIndex) const;
29 
30  virtual bool IsSelectedIndoorMap(const Resources::Interiors::InteriorId& indoorMapId) const;
31 
32  virtual m44 CalculateModelTransform(const Resources::Interiors::InteriorId& indoorMapId, int indoorMapFloorIndex, const dv3& modelOriginEcef) const;
33 
34  virtual m44 CalculateNonCollapsedModelTransform(const Resources::Interiors::InteriorId& indoorMapId, int indoorMapFloorIndex, const dv3& modelOriginEcef) const;
35 
36  virtual dv3 CalculateTransformedPoint(const Resources::Interiors::InteriorId& indoorMapId, int indoorMapFloorIndex, const dv3& untransformedPointEcef) const;
37  private:
38 
39  void CalcIndoorMapModelTransform(const dv3& modelOriginEcef, const int floorIndex, const float mapCollapseScale, m44& out_modelTransform) const;
40 
41  const MapLayers::IMapViewModeModel& m_mapViewModeModel;
42  const Rendering::EnvironmentFlatteningService& m_environmentFlatteningService;
43 
44  const Resources::Interiors::IImmutableInteriorViewModel& m_interiorViewModel;
45 
46  PositioningViewComponentChangedEvent& m_positioningViewComponentChangedEvent;
47 
48  };
49  }
50 }