11// Copyright 2020-2024 CesiumGS, Inc. and Contributors
22
33#include " CesiumEditor.h"
4- #include " Cesium3DTilesSelection/Tileset.h"
54#include " Cesium3DTileset.h"
65#include " Cesium3DTilesetCustomization.h"
76#include " CesiumCartographicPolygon.h"
87#include " CesiumCommands.h"
8+ #include " CesiumFeaturesMetadataViewer.h"
99#include " CesiumGeoreferenceCustomization.h"
1010#include " CesiumGlobeAnchorCustomization.h"
1111#include " CesiumIonPanel.h"
1212#include " CesiumIonRasterOverlay.h"
1313#include " CesiumIonServer.h"
1414#include " CesiumIonTokenTroubleshooting.h"
15+ #include " CesiumMetadataValueCustomization.h"
1516#include " CesiumPanel.h"
1617#include " CesiumRuntime.h"
1718#include " CesiumSunSky.h"
2930#include " Styling/SlateStyle.h"
3031#include " Styling/SlateStyleRegistry.h"
3132
33+ #include < Cesium3DTilesSelection/Tileset.h>
34+
3235constexpr int MaximumOverlaysWithDefaultMaterial = 3 ;
3336
3437IMPLEMENT_MODULE (FCesiumEditorModule, CesiumEditor)
@@ -115,6 +118,7 @@ void registerDetailCustomization() {
115118 FCesiumGeoreferenceCustomization::Register (PropertyEditorModule);
116119 FCesiumGlobeAnchorCustomization::Register (PropertyEditorModule);
117120 FCesium3DTilesetCustomization::Register (PropertyEditorModule);
121+ FCesiumMetadataValueCustomization::Register (PropertyEditorModule);
118122
119123 PropertyEditorModule.NotifyCustomizationModuleChanged ();
120124}
@@ -131,6 +135,7 @@ void unregisterDetailCustomization() {
131135 FCesiumGeoreferenceCustomization::Unregister (PropertyEditorModule);
132136 FCesiumGlobeAnchorCustomization::Unregister (PropertyEditorModule);
133137 FCesium3DTilesetCustomization::Unregister (PropertyEditorModule);
138+ FCesiumMetadataValueCustomization::Unregister (PropertyEditorModule);
134139 }
135140}
136141
@@ -364,6 +369,11 @@ void FCesiumEditorModule::StartupModule() {
364369 OnCesiumRasterOverlayIonTroubleshooting.AddRaw (
365370 this ,
366371 &FCesiumEditorModule::OnRasterOverlayIonTroubleshooting);
372+
373+ this ->_featuresMetadataViewPropertiesSubscription =
374+ OnCesiumFeaturesMetadataViewProperties.AddRaw (
375+ this ,
376+ &FCesiumEditorModule::OnFeaturesMetadataViewProperties);
367377}
368378
369379void FCesiumEditorModule::ShutdownModule () {
@@ -386,6 +396,12 @@ void FCesiumEditorModule::ShutdownModule() {
386396 this ->_rasterOverlayIonTroubleshootingSubscription );
387397 this ->_rasterOverlayIonTroubleshootingSubscription .Reset ();
388398 }
399+ if (this ->_featuresMetadataViewPropertiesSubscription .IsValid ()) {
400+ OnCesiumFeaturesMetadataViewProperties.Remove (
401+ this ->_featuresMetadataViewPropertiesSubscription );
402+ this ->_featuresMetadataViewPropertiesSubscription .Reset ();
403+ }
404+
389405 FGlobalTabmanager::Get ()->UnregisterNomadTabSpawner (TEXT (" Cesium" ));
390406 FCesiumCommands::Unregister ();
391407 IModuleInterface::ShutdownModule ();
@@ -477,6 +493,11 @@ void FCesiumEditorModule::OnRasterOverlayIonTroubleshooting(
477493 CesiumIonTokenTroubleshooting::Open (pOverlay, false );
478494}
479495
496+ void FCesiumEditorModule::OnFeaturesMetadataViewProperties (
497+ ACesium3DTileset* pTileset) {
498+ CesiumFeaturesMetadataViewer::Open (pTileset);
499+ }
500+
480501TSharedPtr<FSlateStyleSet> FCesiumEditorModule::GetStyle () { return StyleSet; }
481502
482503const FName& FCesiumEditorModule::GetStyleSetName () {
0 commit comments