Files
UnrealEngine/Engine/Source/Editor/ComponentVisualizers/Private/DecalComponentVisualizer.cpp
2025-05-18 13:04:45 +08:00

29 lines
996 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "DecalComponentVisualizer.h"
#include "Components/ActorComponent.h"
#include "Components/DecalComponent.h"
#include "Engine/EngineTypes.h"
#include "Math/Axis.h"
#include "Math/Color.h"
#include "Math/Matrix.h"
#include "Math/Transform.h"
#include "PrimitiveDrawingUtils.h"
#include "Templates/Casts.h"
void FDecalComponentVisualizer::DrawVisualization( const UActorComponent* Component, const FSceneView* View, FPrimitiveDrawInterface* PDI )
{
const UDecalComponent* DecalComponent = Cast<const UDecalComponent>(Component);
if(DecalComponent)
{
const FMatrix LocalToWorld = DecalComponent->GetComponentTransform().ToMatrixWithScale();
const FLinearColor DrawColor = FColor(0, 157, 0, 255);
DrawOrientedWireBox(PDI, LocalToWorld.GetOrigin(), LocalToWorld.GetScaledAxis( EAxis::X ), LocalToWorld.GetScaledAxis( EAxis::Y ), LocalToWorld.GetScaledAxis( EAxis::Z ), DecalComponent->DecalSize, DrawColor, SDPG_World);
}
}