All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IMapCameraService.h
1 #pragma once
2 
3 #include "MapCamera.h"
4 #include "Types.h"
5 #include "Camera.h"
6 #include "Rendering.h"
7 #include "Space.h"
8 
9 namespace Eegeo
10 {
11  namespace Camera
12  {
13  namespace MapCamera
14  {
16  {
17  public:
18 
19  virtual ~IMapCameraService() {}
20 
21  virtual void SetScreenProperties(const Rendering::ScreenProperties& screenProperties) = 0;
22 
23  virtual void SetCustomRenderCamera(const Eegeo::Camera::CameraState& cameraState) = 0;
24 
25  virtual void ClearCustomRenderCamera() = 0;
26 
27  virtual void SetCustomStreamingCamera(const Eegeo::Camera::CameraState& cameraState) = 0;
28 
29  virtual void ClearCustomStreamingCamera() = 0;
30 
31  virtual void SetIndoorCameraRestriction(bool applyRestriction) = 0;
32 
33  virtual void SetVerticallyLocked(bool isVerticallyLocked) = 0;
34 
35  virtual void SetScreenSpaceOffset(float screenX, float screenY) = 0;
36  virtual void DisableScreenSpaceOffset() = 0;
37 
38  virtual const Eegeo::Camera::CameraState& GetCameraState() const = 0;
39 
40  virtual MapCameraPosition GetMapCameraPosition() const = 0;
41 
42  virtual void MoveCamera(
43  const MapCameraUpdate& mapCameraUpdate
44  ) = 0;
45 
46  virtual MapCameraAnimationId AnimateCamera(
47  const MapCameraUpdate& animationTarget,
48  const MapCameraAnimationOptions& mapCameraAnimationOptions
49  ) = 0;
50 
51  virtual void CancelAnimation() = 0;
52 
53  virtual bool IsAnimating() const = 0;
54 
55  virtual double GetZoomLevel() const = 0;
56 
57  virtual double GetDistanceFromZoomLevel(double zoomLevel) const = 0;
58  virtual double GetZoomLevelFromDistance(double distanceToInterest) const = 0;
59  };
60  }
61  }
62 }