All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BlueSphereModule.h
1 
2 #pragma once
3 
4 #include "BlueSphere.h"
5 #include "Types.h"
6 #include "Helpers.h"
7 #include "Rendering.h"
8 #include "Modules.h"
9 #include "Positioning.h"
10 #include "Interiors.h"
11 #include "Camera.h"
12 #include "AccuracyRing.h"
13 
14 #include "BlueSphereConfiguration.h"
15 
16 namespace Eegeo
17 {
18  namespace BlueSphere
19  {
21  {
22  public:
23  static BlueSphereConfiguration DefaultConfig();
24 
25  static BlueSphereModule* Create(Eegeo::Modules::Core::RenderingModule& renderingModule,
28  Eegeo::Modules::Core::AsyncLoadersModule& asyncLoadersModule,
31  const Eegeo::Rendering::ScreenProperties& screenProperties,
32  Positioning::PositioningModule& positioningModule,
33  const BlueSphereConfiguration& blueSphereConfiguration);
34 
35 
37 
38  BlueSphereModel& GetBlueSphereModel() const;
39 
40  // deprecated - not consumed by C++ API, but currently wrld-example-app access and mutates view directly
41  // see https://github.com/wrld3d/wrld-example-app/blob/9045e5828d5cb2aa49cfe238cb2e723f9dcf786b/src/GpsMarker/SdkModel/GpsMarkerController.cpp#L77
42  BlueSphereView& GetBlueSphereView() const;
43 
44  // deprecated - not consumed by C++ API, but currently wrld-example-app access and mutates view directly
45  BlueSphereAnchorView& GetBlueSphereAnchorView() const;
46 
47  void Update(float dt, const Camera::RenderCamera& renderCamera);
48 
49  private:
51  IBlueSphereResourceLoadCompletedEvent* pBlueSphereResourceLoadCompletedEvent,
52  BlueSphereViewResources* pBlueSphereViewResourcesOrNull,
53  IBlueSphereResourceLoader* pBlueSphereResourceLoaderOrNull,
54  BlueSphereModel* pModel,
55  BlueSphereView* pView,
56  BlueSphereAnchorView* pAnchorView,
57  BlueSphereController* pBlueSphereControllerOrNull,
58  Positioning::IPointOnMap* pPointOnMap,
59  AccuracyRing::AccuracyRingModule* pAccuracyRingModule
60  );
61 
62  IBlueSphereResourceLoadCompletedEvent* const m_pBlueSphereResourceLoadCompletedEvent;
63  BlueSphereViewResources* const m_pBlueSphereViewResourcesOrNull;
64  IBlueSphereResourceLoader* const m_pBlueSphereResourceLoaderOrNull;
65  BlueSphereModel* const m_pModel;
66  BlueSphereView* const m_pView;
67  BlueSphereAnchorView* const m_pAnchorView;
68  BlueSphereController* const m_pBlueSphereControllerOrNull;
69  Positioning::IPointOnMap* const m_pPointOnMap;
70  AccuracyRing::AccuracyRingModule* const m_pAccuracyRingModule;
71  };
72  }
73 }