All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MapCameraPositionBuilder.h
1 #pragma once
2 
3 #include "MapCamera.h"
4 #include "Types.h"
5 #include "MapCameraPosition.h"
6 #include "PositioningTypes.h"
7 #include "PointOnMapBuilder.h"
8 
9 #include <string>
10 
11 namespace Eegeo
12 {
13  namespace Camera
14  {
15  namespace MapCamera
16  {
18  {
19  public:
21 
22  MapCameraPositionBuilder(const MapCameraPosition& mapCameraPosition);
23 
24  MapCameraPositionBuilder& SetCoordinate(double latitudeDegrees, double longitudeDegrees);
25 
26  MapCameraPositionBuilder& SetElevationMode(Positioning::ElevationMode::Type elevationMode);
27 
28  MapCameraPositionBuilder& SetElevation(double elevationMetres);
29 
30  MapCameraPositionBuilder& SetIndoorMapWithDefaultFloor(const std::string& indoorMapId);
31 
32  MapCameraPositionBuilder& SetIndoorMap(const std::string& indoorMapId, int indoorMapFloorId);
33 
34  MapCameraPositionBuilder& SetBearing(double bearingDegrees);
35 
36  MapCameraPositionBuilder& SetZenithAngle(double zenithAngleDegrees);
37 
38  MapCameraPositionBuilder& SetDistanceToInterest(double distanceToInterest);
39 
40  MapCameraPosition Build();
41 
42  private:
43 
44  Positioning::PointOnMapBuilder m_pointOnMapBuilder;
45  double m_bearingDegrees;
46  double m_zenithAngleDegrees;
47  double m_distanceToInterest;
48  };
49 
50  }
51  }
52 }