// Copyright Epic Games, Inc. All Rights Reserved. #include "ChaosVDGenericDebugDrawExtension.h" #include "Components/ChaosVDGenericDebugDrawDataComponent.h" #include "Trace/DataProcessors/ChaosVDDebugDrawBoxDataProcessor.h" #include "Trace/DataProcessors/ChaosVDDebugDrawImplicitObjectDataProcessor.h" #include "Trace/DataProcessors/ChaosVDDebugDrawLineDataProcessor.h" #include "Trace/DataProcessors/ChaosVDDebugDrawSphereDataProcessor.h" #include "Visualizers/ChaosVDGenericDebugDrawDataComponentVisualizer.h" #include "Widgets/SChaosVDMainTab.h" FChaosVDGenericDebugDrawExtension::FChaosVDGenericDebugDrawExtension() : FChaosVDExtension() { DataComponentsClasses.Add(UChaosVDGenericDebugDrawDataComponent::StaticClass()); ExtensionName = FName(TEXT("FChaosVDGenericDebugDrawExtension")); } FChaosVDGenericDebugDrawExtension::~FChaosVDGenericDebugDrawExtension() { DataComponentsClasses.Reset(); } void FChaosVDGenericDebugDrawExtension::RegisterDataProcessorsInstancesForProvider(const TSharedRef& InTraceProvider) { FChaosVDExtension::RegisterDataProcessorsInstancesForProvider(InTraceProvider); TSharedPtr DebugDrawBoxesDataProcessor = MakeShared(); DebugDrawBoxesDataProcessor->SetTraceProvider(InTraceProvider); InTraceProvider->RegisterDataProcessor(DebugDrawBoxesDataProcessor); TSharedPtr DebugDrawLinesDataProcessor = MakeShared(); DebugDrawLinesDataProcessor->SetTraceProvider(InTraceProvider); InTraceProvider->RegisterDataProcessor(DebugDrawLinesDataProcessor); TSharedPtr DebugDrawSpheresDataProcessor = MakeShared(); DebugDrawSpheresDataProcessor->SetTraceProvider(InTraceProvider); InTraceProvider->RegisterDataProcessor(DebugDrawSpheresDataProcessor); TSharedPtr DebugDrawImplicitObjectDataProcessor = MakeShared(); DebugDrawImplicitObjectDataProcessor->SetTraceProvider(InTraceProvider); InTraceProvider->RegisterDataProcessor(DebugDrawImplicitObjectDataProcessor); } TConstArrayView> FChaosVDGenericDebugDrawExtension::GetSolverDataComponentsClasses() { return DataComponentsClasses; } void FChaosVDGenericDebugDrawExtension::RegisterComponentVisualizers(const TSharedRef& InCVDToolKit) { FChaosVDExtension::RegisterComponentVisualizers(InCVDToolKit); InCVDToolKit->RegisterComponentVisualizer(UChaosVDGenericDebugDrawDataComponent::StaticClass()->GetFName(), MakeShared()); }