Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
platform
Modules
Map
Layers
InteriorsPresentationModule.h
1
#pragma once
2
3
#include "Modules.h"
4
#include "Interiors.h"
5
#include "Rendering.h"
6
#include "Streaming.h"
7
#include "InteriorsRenderableFilter.h"
8
#include "LandmarkToRenderableRepository.h"
9
#include "Lighting.h"
10
#include "Pins.h"
11
#include "Helpers.h"
12
#include "GLHelpers.h"
13
#include "Terrain.h"
14
#include "Camera.h"
15
#include "InteriorsConfiguration.h"
16
#include "Fonts.h"
17
#include "Labels.h"
18
#include "Culling.h"
19
#include "Input.h"
20
21
22
namespace
Eegeo
23
{
24
namespace
Modules
25
{
26
namespace
Map
27
{
28
namespace
Layers
29
{
30
class
InteriorsPresentationModule
31
{
32
public
:
33
~
InteriorsPresentationModule
();
34
35
static
InteriorsPresentationModule
* Create(
36
const
InteriorsModelModule
& interiorsModelModule,
37
const
InteriorsStreamingModule
& interiorsStreamingModule,
38
const
Resources::Interiors::MetaData::InteriorMetaDataModule
& interiorMetaDataModule,
39
BuildingModelModule
& buildingModelModule,
40
BuildingPresentationModule
& buildingPresentationModule,
41
Core::LightingModule
& lightingModule,
42
Core::RenderingModule
& renderingModule,
43
Core::FontsModule
& fontsModule,
44
Eegeo::Labels::LabelsModule
& labelsModule,
45
Helpers::ITextureFileLoader
& textureFileLoader,
46
TerrainModelModule
& terrainModelModule,
47
Rendering::EnvironmentFlatteningService
& environmentFlatteningService,
48
Streaming::CameraFrustumStreamingVolume
& streamingVolume,
49
Culling::CullingVolumeVisibilityUpdater
& cullingVolumeVisibilityUpdater,
50
const
Eegeo::Rendering::ScreenProperties
& screenProperties,
51
Eegeo::Helpers::IFileIO
& fileIO,
52
Map::Layers::PlaceNamesPresentationModule
& placenamesPresentationModule,
53
Map::Layers::PlaceNamesModelModule
& placeNamesModelModule,
54
const
Resources::Interiors::InteriorsConfiguration
& interiorsConfig,
55
bool
enableInteriors,
56
bool
enableLabels
57
);
58
59
static
Resources::Interiors::InteriorsConfiguration
DefaultConfig();
60
61
Rendering::Filters::InteriorsRenderableFilter
& GetInteriorsRenderableFilter()
const
;
62
63
Resources::Interiors::InteriorsBackgroundRenderableFilter
& GetInteriorsBackgroundRenderableFilter()
const
;
64
65
Resources::Interiors::InteriorSelectionModel
& GetInteriorSelectionModel()
const
;
66
67
Resources::Interiors::InteriorInteractionModel
& GetInteriorInteractionModel()
const
;
68
69
Resources::Interiors::InteriorTransitionModel
& GetInteriorTransitionModel()
const
;
70
71
Resources::Interiors::IImmutableInteriorViewModel
& GetInteriorViewModel()
const
;
72
73
Resources::Interiors::IInteriorViewModelObserver
& GetInteriorViewModelObserver()
const
;
74
75
void
Update(
float
dt,
const
Eegeo::Camera::RenderCamera
& renderCamera);
76
77
void
EarlyUpdate(
float
dt);
78
79
Resources::Interiors::Entities::IInteriorsLabelController
& GetInteriorsLabelsController()
const
;
80
81
const
Resources::Interiors::InteriorsConfiguration
& GetConfig()
const
;
82
83
const
Resources::Interiors::InteriorsHeightProvider
& GetInteriorsHeightProvider()
const
;
84
85
Resources::Interiors::Markers::IInteriorMarkerPickingService
& GetInteriorMarkerPickingService()
const
;
86
87
Resources::Interiors::Markers::InteriorMarkerPickingGestureHandler
& GetInteriorMarkerPickingGestureHandler()
const
;
88
89
Resources::Interiors::PropRenderableRepository
& GetPropRenderableRepository()
const
;
90
91
private
:
92
InteriorsPresentationModule
(
const
Resources::Interiors::InteriorsConfiguration
& interiorsConfig,
93
Resources::Interiors::InteriorSelectionModel
* pInteriorSelectionModel,
94
Eegeo::Rendering::Shaders::ColorShader
* pQuadShader,
95
Resources::Interiors::InteriorsBackgroundMaterial
* pInteriorsBackgroundMaterial,
96
Resources::Interiors::InteriorsBackgroundRenderable
* pInteriorsBackgroundRenderable,
97
Resources::Interiors::InteriorsBackgroundViewModel
* pInteriorsBackgroundViewModel,
98
Resources::Interiors::InteriorsBackgroundRenderableFilter
* pInteriorsBackgroundRenderableFilter,
99
Rendering::Filters::InteriorsRenderableFilter
* pInteriorsRenderableFilter,
100
Resources::Interiors::InteriorFloorAnimator
* pInteriorFloorAnimator,
101
Resources::Interiors::InteriorInteractionModel
& interiorInteractionModel,
102
Resources::Interiors::InteriorTransitionModel
* pInteriorTransitionModel,
103
Resources::Interiors::InteriorInteractionModelAnimator
* pInteriorInteractionModelAnimator,
104
Resources::Interiors::InteriorController
* pController,
105
Resources::Interiors::InteriorViewModel
* pViewModel,
106
Resources::Interiors::InteriorLandmarkViewModel
* pInteriorLandmarkViewModel,
107
Fonts::IFontInstanceService
& fontInstanceService,
108
const
Fonts::FontInstance
* pLegacyLabelFont,
109
Resources::Interiors::Entities::IInteriorsLabelController
* pInteriorsLabelsController,
110
Resources::Interiors::InteriorsHeightProvider
* pInteriorsHeightProvicer,
111
Resources::Interiors::InteriorLabelModel
* pInteriorLabelModel,
112
Resources::Interiors::InteriorLabelModelController
* pInteriorLabelModelController,
113
Resources::Interiors::Markers::IInteriorMarkerPickingService
* pInteriorMarkerPickingService,
114
Resources::Interiors::Markers::InteriorMarkerPickingGestureHandler
* pInteriorMarkerPickingGestureHandler,
115
Resources::Interiors::PropRenderableRepository
* pPropModelRenderableRepository
116
);
117
118
const
Resources::Interiors::InteriorsConfiguration
m_interiorsConfig;
119
120
Resources::Interiors::InteriorSelectionModel
* m_pInteriorSelectionModel;
121
122
Eegeo::Rendering::Shaders::ColorShader
* m_pQuadShader;
123
124
Resources::Interiors::InteriorsBackgroundMaterial
* m_pInteriorsBackgroundMaterial;
125
Resources::Interiors::InteriorsBackgroundRenderable
* m_pInteriorsBackgroundRenderable;
126
127
Resources::Interiors::InteriorsBackgroundViewModel
* m_pInteriorsBackgroundViewModel;
128
Resources::Interiors::InteriorsBackgroundRenderableFilter
* m_pInteriorsBackgroundRenderableFilter;
129
130
Rendering::Filters::InteriorsRenderableFilter
* m_pInteriorsRenderableFilter;
131
132
Resources::Interiors::InteriorFloorAnimator
* m_pInteriorFloorAnimator;
133
Resources::Interiors::InteriorInteractionModel
& m_interiorInteractionModel;
134
Resources::Interiors::InteriorTransitionModel
* m_pInteriorTransitionModel;
135
Resources::Interiors::InteriorInteractionModelAnimator
* m_pInteriorInteractionModelAnimator;
136
Resources::Interiors::InteriorController
* m_pController;
137
Resources::Interiors::InteriorViewModel
* m_pViewModel;
138
Resources::Interiors::InteriorLandmarkViewModel
* m_pInteriorLandmarkViewModel;
139
140
Fonts::IFontInstanceService
& m_fontInstanceService;
141
const
Fonts::FontInstance
* m_pLegacyLabelFont;
142
Resources::Interiors::Entities::IInteriorsLabelController
* m_pInteriorsLabelsController;
143
Resources::Interiors::InteriorsHeightProvider
* m_pInteriorsHeightProvider;
144
Resources::Interiors::InteriorLabelModel
* m_pInteriorLabelModel;
145
Resources::Interiors::InteriorLabelModelController
* m_pInteriorLabelModelController;
146
147
Resources::Interiors::Markers::IInteriorMarkerPickingService
* m_pInteriorMarkerPickingService;
148
Resources::Interiors::Markers::InteriorMarkerPickingGestureHandler
* m_pInteriorMarkerPickingGestureHandler;
149
Eegeo::Resources::Interiors::PropRenderableRepository
* m_pPropRenderableRepository;
150
};
151
}
152
}
153
}
154
}
Generated on Sat Jun 10 2023 02:00:31 for eeGeo Platform SDK by
1.8.3.1