//### Contains all methods which are neceassry before each VTK Render() call void mitk::VtkPropRenderer::PrepareRender() { if (this->GetMapperID() != m_CameraInitializedForMapperID) { Initialize2DvtkCamera(); // Set parallel projection etc. } GetCameraController()->AdjustCameraToPlane(); }
void MobileExampleApp::CreateApplicationModelModules() { Eegeo::EegeoWorld& world = *m_pWorld; m_pReactionControllerModule = Eegeo_NEW(Reaction::View::ReactionControllerModule)(); m_pWatermarkModule = Eegeo_NEW(ExampleApp::Watermark::WatermarkModule)(m_identityProvider); m_pAboutPageModule = Eegeo_NEW(ExampleApp::AboutPage::View::AboutPageModule)(m_identityProvider, m_pReactionControllerModule->GetReactionControllerModel()); m_pOptionsModule = Eegeo_NEW(ExampleApp::Options::OptionsModule)(m_identityProvider, m_pReactionControllerModule->GetReactionControllerModel(), m_messageBus, m_networkCapabilities); m_pSearchModule = Eegeo_NEW(Search::SdkModel::SearchModule)(m_searchServiceModule.GetSearchService(), *m_pGlobeCameraController, *m_pCameraTransitionController, m_messageBus, m_sdkDomainEventBus); m_pCompassModule = Eegeo_NEW(ExampleApp::Compass::SdkModel::CompassModule)(*m_pNavigationService, world.GetLocationService(), *m_pGlobeCameraController, m_identityProvider, m_messageBus, m_metricsService, *m_pAppModeModel); m_pGpsMarkerModule = Eegeo_NEW(ExampleApp::GpsMarker::SdkModel::GpsMarkerModule)(m_pWorld->GetRenderingModule(), m_platformAbstractions, m_pWorld->GetLocationService(), m_pWorld->GetTerrainModelModule(), m_pWorld->GetMapModule(), m_messageBus); Eegeo::Modules::Map::CityThemesModule& cityThemesModule = world.GetCityThemesModule(); m_pWeatherMenuModule = Eegeo_NEW(ExampleApp::WeatherMenu::SdkModel::WeatherMenuModule)(m_platformAbstractions.GetFileIO(), cityThemesModule.GetCityThemesService(), cityThemesModule.GetCityThemesUpdater(), m_messageBus, m_metricsService); m_pSecondaryMenuModule = Eegeo_NEW(ExampleApp::SecondaryMenu::SdkModel::SecondaryMenuModule)(m_identityProvider, m_pReactionControllerModule->GetReactionControllerModel(), m_pSearchModule->GetSearchQueryPerformer(), m_messageBus, m_pAboutPageModule->GetAboutPageViewModel(), m_pOptionsModule->GetOptionsViewModel(), m_metricsService); m_pPlaceJumpsModule = Eegeo_NEW(PlaceJumps::SdkModel::PlaceJumpsModule)(m_platformAbstractions.GetFileIO(), GetCameraController(), m_pCompassModule->GetCompassModel(), m_pSecondaryMenuModule->GetSecondaryMenuViewModel(), m_messageBus, m_metricsService); m_pCategorySearchModule = Eegeo_NEW(ExampleApp::CategorySearch::SdkModel::CategorySearchModule( m_searchServiceModule.GetCategorySearchModels(), SearchModule().GetSearchQueryPerformer(), m_pSecondaryMenuModule->GetSecondaryMenuViewModel(), m_messageBus, m_metricsService)); Eegeo::Modules::Map::MapModule& mapModule = world.GetMapModule(); m_pMapModeModule = Eegeo_NEW(MapMode::SdkModel::MapModeModule(mapModule.GetEnvironmentFlatteningService(), m_pWeatherMenuModule->GetWeatherController())); m_pFlattenButtonModule = Eegeo_NEW(ExampleApp::FlattenButton::SdkModel::FlattenButtonModule)(m_pMapModeModule->GetMapModeModel(), m_identityProvider, m_messageBus); InitialisePinsModules(mapModule, world); m_pMyPinsModule = Eegeo_NEW(ExampleApp::MyPins::SdkModel::MyPinsModule)(m_pWorldPinsModule->GetWorldPinsService(), m_platformAbstractions, m_persistentSettings, m_pSecondaryMenuModule->GetSecondaryMenuViewModel(), m_messageBus, m_sdkDomainEventBus, *m_pCameraTransitionController, m_pCategorySearchModule->GetCategorySearchRepository(), m_pSearchModule->GetMyPinsSearchResultRefreshService(), m_metricsService); m_pSearchResultPoiModule = Eegeo_NEW(ExampleApp::SearchResultPoi::View::SearchResultPoiModule)(m_identityProvider, m_pReactionControllerModule->GetReactionControllerModel(), m_pMyPinsModule->GetMyPinsService(), m_pSearchModule->GetSearchResultMyPinsService(), m_pCategorySearchModule->GetSearchResultIconCategoryMapper(), world.GetPlatformAbstractionModule().GetWebLoadRequestFactory(), m_messageBus); m_pSearchResultMenuModule = Eegeo_NEW(SearchResultMenu::SdkModel::SearchResultMenuModule)(m_pSearchModule->GetSearchResultRepository(), m_pSearchModule->GetSearchQueryPerformer(), m_identityProvider, *m_pCameraTransitionController, m_pReactionControllerModule->GetReactionControllerModel(), m_messageBus); m_pSearchResultOnMapModule = Eegeo_NEW(SearchResultOnMap::SdkModel::SearchResultOnMapModule)(m_pSearchModule->GetSearchResultRepository(), m_pSearchResultPoiModule->GetSearchResultPoiViewModel(), m_pWorldPinsModule->GetWorldPinsService(), m_pCategorySearchModule->GetSearchResultIconCategoryMapper(), m_pSearchModule->GetSearchResultMyPinsService(), m_messageBus, m_metricsService); m_pMyPinCreationModule = Eegeo_NEW(ExampleApp::MyPinCreation::SdkModel::MyPinCreationModule)(m_pMyPinsModule->GetMyPinsService(), m_identityProvider, m_pSecondaryMenuModule->GetSecondaryMenuViewModel(), m_pSearchModule->GetSearchQueryPerformer(), m_pSearchResultMenuModule->GetMenuViewModel(), m_pSearchModule->GetSearchRefreshService(), m_messageBus, m_pReactionControllerModule->GetReactionControllerModel()); m_pPoiRingModule = Eegeo_NEW(ExampleApp::MyPinCreation::PoiRing::SdkModel::PoiRingModule)(m_pMyPinCreationModule->GetMyPinCreationModel(), m_platformAbstractions, m_pWorld->GetRenderingModule(), m_pWorld->GetAsyncLoadersModule(), m_pWorld->GetLightingModule(), m_pWorld->GetTerrainModelModule(), m_pWorld->GetMapModule()); m_pMyPinCreationDetailsModule = Eegeo_NEW(ExampleApp::MyPinCreationDetails::View::MyPinCreationDetailsModule)(m_identityProvider, m_pReactionControllerModule->GetReactionControllerModel()); m_pMyPinDetailsModule = Eegeo_NEW(ExampleApp::MyPinDetails::SdkModel::MyPinDetailsModule)(m_identityProvider, m_pReactionControllerModule->GetReactionControllerModel(), m_pMyPinsModule->GetMyPinsService(), m_pSearchResultPoiModule->GetSearchResultPoiViewModel(), m_messageBus); Eegeo::Modules::Map::Layers::InteriorsPresentationModule& interiorsPresentationModule = mapModule.GetInteriorsPresentationModule(); m_pInteriorsExplorerModule = Eegeo_NEW(InteriorsExplorer::SdkModel::InteriorsExplorerModule)(interiorsPresentationModule.GetInteriorsController(), interiorsPresentationModule.GetCameraController(), interiorsPresentationModule.GetInteriorSelectionModel(), interiorsPresentationModule.GetInteriorSelectionController(), world.GetMapModule().GetInteriorsPresentationModule().GetPinsController(), *m_pGlobeCameraController, *m_pStreamingVolume, world.GetNativeUIFactories(), m_identityProvider, m_pMapModeModule->GetMapModeModel(), *m_pAppModeModel, m_messageBus, m_metricsService); if (m_interiorsEnabled) { m_pInteriorsEntitiesPinsModule = Eegeo_NEW(InteriorsEntitiesPins::SdkModel::InteriorsEntitiesPinsModule(m_pWorld->GetPlatformAbstractionModule(), m_pWorld->GetRenderingModule(), m_pWorld->GetMapModule(), m_screenProperties)); } std::vector<ScreenControl::View::IScreenControlViewModel*> reactors(GetReactorControls()); std::vector<ExampleApp::OpenableControl::View::IOpenableControlViewModel*> openables(GetOpenableControls()); m_pModalityModule = Eegeo_NEW(Modality::View::ModalityModule)(m_messageBus, openables); m_pReactionModelModule = Eegeo_NEW(Reaction::View::ReactionModelModule)(m_pReactionControllerModule->GetReactionControllerModel(), openables, reactors); Eegeo::Modules::Map::StreamingModule& streamingModule = world.GetStreamingModule(); m_pWorldAreaLoaderModule = Eegeo_NEW(WorldAreaLoader::SdkModel::WorldAreaLoaderModule)(streamingModule.GetPrecachingService()); m_initialExperienceModule.InitialiseWithApplicationModels(m_pWorldAreaLoaderModule->GetWorldAreaLoaderModel(), m_pSearchResultMenuModule->GetMenuViewModel(), m_pSearchResultMenuModule->GetSearchResultMenuViewModel()); m_pSecondaryMenuModule->AddMenuSection("Search", m_pCategorySearchModule->GetCategorySearchMenuModel(), true); m_pSecondaryMenuModule->AddMenuSection("Weather" , m_pWeatherMenuModule->GetWeatherMenuModel(), true); m_pSecondaryMenuModule->AddMenuSection("Locations", m_pPlaceJumpsModule->GetPlaceJumpsMenuModel(), true); m_pSecondaryMenuModule->AddMenuSection("My Pins", m_pMyPinsModule->GetMyPinsMenuModel(), true); m_pSecondaryMenuModule->AddMenuSection("Settings", m_pSecondaryMenuModule->GetSettingsMenuModel(), true); }