All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
MapCameraStreamingVolumeModel.h
1 #pragma once
2 
3 #include "MapCamera.h"
4 #include "Types.h"
5 #include "ScreenProperties.h"
6 #include "Streaming.h"
7 #include "Camera.h"
8 #include "Plane.h"
9 
10 #include <vector>
11 
12 namespace Eegeo
13 {
14  namespace Camera
15  {
16  namespace MapCamera
17  {
19  {
20  public:
22  Eegeo::Streaming::CameraFrustumStreamingVolume& cameraFrustumStreamingVolume,
23  const double cameraAltitudeToFarPlaneDistanceMultiplier,
24  const double minStreamingFarPlaneDistance
25  );
26 
27  void SetStreamingVolumeFromCameraState(const ::Eegeo::Camera::CameraState& cameraState);
28 
29  void SetForceMaximumRefinement(bool forceMaximumRefinement);
30 
31  Eegeo::Streaming::IStreamingVolume& GetStreamingVolume() const;
32  private:
33 
34  Eegeo::Streaming::CameraFrustumStreamingVolume& m_cameraFrustumStreamingVolume;
35  const double m_cameraAltitudeToFarPlaneDistanceMultiplier;
36  const double m_minStreamingFarPlaneDistance;
37 
38  std::vector<Eegeo::Geometry::Plane> m_frustumPlanes;
39  };
40  }
41  }
42 }