// Copyright Epic Games, Inc. All Rights Reserved. #include "ChaosVDAccelerationStructuresExtension.h" #include "Components/ChaosVDGTAccelerationStructuresDataComponent.h" #include "Trace/ChaosVDAABBTreeDataProcessor.h" #include "Visualizers/ChaosVDGTAccelerationStructureDataComponentVisualizer.h" #include "Widgets/SChaosVDMainTab.h" FChaosVDAccelerationStructuresExtension::FChaosVDAccelerationStructuresExtension() : FChaosVDExtension() { DataComponentsClasses.Add(UChaosVDGTAccelerationStructuresDataComponent::StaticClass()); ExtensionName = FName(TEXT("FChaosVDAccelerationStructuresExtension")); } FChaosVDAccelerationStructuresExtension::~FChaosVDAccelerationStructuresExtension() { DataComponentsClasses.Reset(); } void FChaosVDAccelerationStructuresExtension::RegisterDataProcessorsInstancesForProvider(const TSharedRef& InTraceProvider) { FChaosVDExtension::RegisterDataProcessorsInstancesForProvider(InTraceProvider); TSharedPtr AABBTreeDataProcessor = MakeShared(); AABBTreeDataProcessor->SetTraceProvider(InTraceProvider); InTraceProvider->RegisterDataProcessor(AABBTreeDataProcessor); } TConstArrayView> FChaosVDAccelerationStructuresExtension::GetSolverDataComponentsClasses() { return DataComponentsClasses; } void FChaosVDAccelerationStructuresExtension::RegisterComponentVisualizers(const TSharedRef& InCVDToolKit) { FChaosVDExtension::RegisterComponentVisualizers(InCVDToolKit); InCVDToolKit->RegisterComponentVisualizer(UChaosVDGTAccelerationStructuresDataComponent::StaticClass()->GetFName(), MakeShared()); }