UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DebugRenderSceneProxy.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 DebugRenderSceneProxy.h: Useful scene proxy for rendering non performance-critical information.
5=============================================================================*/
6
7#pragma once
8
9#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_6
10#include "CoreMinimal.h"
11#include "Materials/Material.h"
12#include "DynamicMeshBuilder.h"
13#endif // UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_6
14
15#include "PrimitiveSceneProxy.h"
16#include "SceneView.h"
17
19struct FConvexVolume;
25class UCanvas;
26class UMaterial;
27class UPrimitiveComponent;
28
30
39
41{
42public:
44
45 ENGINE_API SIZE_T GetTypeHash() const override;
46
54 ENGINE_API FDebugRenderSceneProxy(const UPrimitiveComponent* InComponent);
56
57 // FPrimitiveSceneProxy interface.
58
62 ENGINE_API virtual void GetDynamicMeshElements(const TArray<const FSceneView*>& Views, const FSceneViewFamily& ViewFamily, uint32 VisibilityMap, FMeshElementCollector& Collector) const override;
63
73 void DrawLineArrow(FPrimitiveDrawInterface* PDI,const FVector &Start,const FVector &End,const FColor &Color,float Mag) const;
74
75 virtual uint32 GetMemoryFootprint( void ) const override { return( sizeof( *this ) + GetAllocatedSize() ); }
77
78 inline static bool PointInView(const FVector& Location, const FSceneView* View)
79 {
80 return View ? PointInFrustum(Location, View->ViewFrustum) : false;
81 }
82
83 inline static bool SegmentInView(const FVector& StartPoint, const FVector& EndPoint, const FSceneView* View)
84 {
85 return View ? SegmentInFrustum(StartPoint, EndPoint, View->ViewFrustum) : false;
86 }
87
88 inline static bool BoxInView(const FVector& Origin, const FVector& Extent, const FSceneView* View)
89 {
90 return View ? BoxInFrustum(Origin, Extent, View->ViewFrustum) : false;
91 }
92
93 inline static bool SphereInView(const FVector& Center, double Radius, const FSceneView* View)
94 {
95 return View ? SphereInFrustum(Center, Radius, View->ViewFrustum) : false;
96 }
97
98 inline static bool PointInFrustum(const FVector& Location, const FConvexVolume& ViewFrustum)
99 {
100 return ViewFrustum.IntersectPoint(Location);
101 }
102
103 inline static bool SegmentInFrustum(const FVector& StartPoint, const FVector& EndPoint, const FConvexVolume& ViewFrustum)
104 {
105 return ViewFrustum.IntersectLineSegment(StartPoint, EndPoint);
106 }
107
108 inline static bool BoxInFrustum(const FVector& Origin, const FVector& Extent, const FConvexVolume& ViewFrustum)
109 {
110 return ViewFrustum.IntersectBox(Origin, Extent);
111 }
112
113 inline static bool SphereInFrustum(const FVector& Center, double Radius, const FConvexVolume& ViewFrustum)
114 {
115 return ViewFrustum.IntersectSphere(Center, static_cast<float>(Radius));
116 }
117
118 inline static bool PointInRange(const FVector& Start, const FSceneView* View, double Range)
119 {
120 return FVector::DistSquared(Start, View->ViewMatrices.GetViewOrigin()) <= FMath::Square(Range);
121 }
122
123 // Create a new frustum out of the view, taking into account the far clipping distance (if InFarClippingDistance > 0.0)
125
136
139 {
140 FDebugLine(const FVector &InStart, const FVector &InEnd, const FColor &InColor, const float InThickness = 0.f)
141 : Start(InStart)
142 , End(InEnd)
143 , Color(InColor)
145 {}
146
151
152 ENGINE_API void Draw(FPrimitiveDrawInterface* PDI) const;
153 };
154
177
205
230
233 {
234 FWireStar(const FVector &InPosition, const FColor &InColor, const float InSize)
236 , Color(InColor)
237 , Size(InSize)
238 {}
239
240 ENGINE_API void Draw(FPrimitiveDrawInterface* PDI) const;
241
244 float Size;
245 };
246
249 {
250 FArrowLine(const FVector &InStart, const FVector &InEnd, const FColor &InColor, const float InMag = 0.0f)
251 : Start(InStart)
252 , End(InEnd)
253 , Color(InColor)
254 , Mag(InMag > 0.0f ? InMag : 8.0f) // default to a Mag of 8.0 as it used to be the default in the past
255 {}
256
257 ENGINE_API void Draw(FPrimitiveDrawInterface* PDI) const;
258
259 UE_DEPRECATED(5.6, "Use the other Draw function and pass the proper data in the constructor")
260 ENGINE_API void Draw(FPrimitiveDrawInterface* PDI, const float InMag) const;
261
265 float Mag;
266 };
267
270 {
271 FDashedLine(const FVector &InStart, const FVector &InEnd, const FColor &InColor, const float InDashSize)
272 : Start(InStart)
273 , End(InEnd)
274 , Color(InColor)
275 , DashSize(InDashSize)
276 {}
277
278 ENGINE_API void Draw(FPrimitiveDrawInterface* PDI) const;
279
283 float DashSize;
284 };
285
287 struct FSphere
288 {
290 FSphere(const float& InRadius, const FVector& InLocation, const FLinearColor& InColor, EDrawType InDrawTypeOverride = EDrawType::Invalid)
291 : Radius(InRadius)
292 , Location(InLocation)
293 , Color(InColor.ToFColor(true))
294 , DrawTypeOverride(InDrawTypeOverride)
295 {}
296
297 ENGINE_API void Draw(FPrimitiveDrawInterface* PDI, EDrawType InDrawType, uint32 InDrawAlpha, FMaterialCache& MaterialCache, int32 ViewIndex, FMeshElementCollector& Collector) const;
298
299 float Radius;
302 EDrawType DrawTypeOverride = EDrawType::Invalid;
303 };
304
306 struct FText3d
307 {
309 FText3d(const FString& InString, const FVector& InLocation, const FLinearColor& InColor)
310 : Text(InString)
311 , Location(InLocation)
312 , Color(InColor.ToFColor(true))
313 {}
314
315 FString Text;
318 };
319
320 struct FCone
321 {
322 FCone() {}
323 FCone(const FMatrix& InConeToWorld, const float InAngle1, const float InAngle2, const FLinearColor& InColor,
324 EDrawType InDrawTypeOverride = EDrawType::Invalid, const float InThickness = 0.f)
325 : ConeToWorld(InConeToWorld)
326 , Angle1(InAngle1)
327 , Angle2(InAngle2)
328 , Color(InColor.ToFColor(true))
329 , Thickness(InThickness)
330 , DrawTypeOverride(InDrawTypeOverride)
331 {}
332
333 ENGINE_API void Draw(FPrimitiveDrawInterface* PDI, EDrawType InDrawType, uint32 InDrawAlpha, FMaterialCache& MaterialCache, int32 ViewIndex, FMeshElementCollector& Collector, TArray<FVector>* VertsCache = nullptr) const;
334
336 float Angle1;
337 float Angle2;
340 EDrawType DrawTypeOverride = EDrawType::Invalid;
341 };
342
354
355 struct FCapsule
356 {
358 FCapsule(const FVector& InBase, const float& InRadius, const FVector& x, const FVector& y, const FVector &z, const float& InHalfHeight,
359 const FLinearColor& InColor, EDrawType InDrawTypeOverride = EDrawType::Invalid, const float InThickness = 0.f)
360 : Radius(InRadius)
361 , Base(InBase)
362 , Color(InColor.ToFColor(true))
363 , Thickness(InThickness)
364 , HalfHeight(InHalfHeight)
365 , X(x)
366 , Y(y)
367 , Z(z)
368 , DrawTypeOverride(InDrawTypeOverride)
369 {}
370
371 ENGINE_API void Draw(FPrimitiveDrawInterface* PDI, EDrawType InDrawType, uint32 InDrawAlpha, FMaterialCache& MaterialCache, int32 ViewIndex, FMeshElementCollector& Collector) const;
372
373 float Radius;
374 FVector Base; //Center point of the base of the cylinder.
378 FVector X, Y, Z; //X, Y, and Z alignment axes to draw along.
379 EDrawType DrawTypeOverride = EDrawType::Invalid;
380 };
381
382 // struct to hold coordinate systems to render
384 {
386 FCoordinateSystem(const FVector& InAxisLoc, const FRotator& InAxisRot, const float InScale, const FColor& InColor, const float InThickness)
387 : AxisLoc(InAxisLoc)
388 , AxisRot(InAxisRot)
389 , Scale(InScale)
390 , Color(InColor)
391 , Thickness(InThickness)
392 {}
393
394 ENGINE_API void Draw(FPrimitiveDrawInterface* PDI) const;
395
398 float Scale;
401 };
402
416
425
427
428protected:
429 ENGINE_API virtual void GetDynamicMeshElementsForView(const FSceneView* View, const int32 ViewIndex, const FSceneViewFamily& ViewFamily, const uint32 VisibilityMap, FMeshElementCollector& Collector, FMaterialCache& DefaultMaterialCache, FMaterialCache& SolidMeshMaterialCache) const;
430};
431
432
434{
436 : State(UndefinedState)
437 , ViewFlagName(TEXT("Game"))
438 , TextWithoutShadowDistance(1500)
439 , FarClippingDistance(0.0)
440 {}
441
443
444protected:
446
447public:
448 ENGINE_API void InitDelegateHelper(const FDebugRenderSceneProxy* InSceneProxy);
449
457 ENGINE_API void RequestRegisterDebugDrawDelegate(FRegisterComponentContext* Context);
458
463 ENGINE_API void ProcessDeferredRegister();
464
466 ENGINE_API virtual void UnregisterDebugDrawDelegate();
467
468 ENGINE_API void ReregisterDebugDrawDelegate();
469
470protected:
472 ENGINE_API virtual void RegisterDebugDrawDelegateInternal();
473
474 ENGINE_API void HandleDrawDebugLabels(UCanvas* Canvas, APlayerController* PlayerController);
475 ENGINE_API virtual void DrawDebugLabels(UCanvas* Canvas, APlayerController* PlayerController);
476 void ResetTexts() { Texts.Reset(); }
477 const TextArray& GetTexts() const { return Texts; }
478 float GetTextWithoutShadowDistance() const {return TextWithoutShadowDistance; }
479 double GetFarClippingDistance() const { return FarClippingDistance; }
480
481protected:
490
491 bool bDeferredRegister = false;
492
493private:
499 TWeakObjectPtr<UWorld> AssociatedWorld;
500 TextArray Texts;
501 FString ViewFlagName;
502 float TextWithoutShadowDistance;
503 double FarClippingDistance;
504};
@ ForceInit
Definition CoreMiscDefines.h:155
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
return true
Definition ExternalRpcRegistry.cpp:601
#define X(Name, Desc)
Definition FormatStringSan.h:47
UE::Math::TBox< double > FBox
Definition MathFwd.h:55
T TNotNull
Definition NotNull.h:307
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition PlayerController.h:261
Definition CanvasTypes.h:211
Definition DebugRenderSceneProxy.h:41
TArray< FCone > Cones
Definition DebugRenderSceneProxy.h:412
FDebugDrawDelegate DebugTextDrawingDelegate
Definition DebugRenderSceneProxy.h:420
static bool SegmentInView(const FVector &StartPoint, const FVector &EndPoint, const FSceneView *View)
Definition DebugRenderSceneProxy.h:83
uint32 DrawAlpha
Definition DebugRenderSceneProxy.h:423
virtual ENGINE_API ~FDebugRenderSceneProxy()
ENGINE_API FDebugRenderSceneProxy(FDebugRenderSceneProxy const &)
TArray< FCircle > Circles
Definition DebugRenderSceneProxy.h:406
TArray< FArrowLine > ArrowLines
Definition DebugRenderSceneProxy.h:405
static bool SphereInFrustum(const FVector &Center, double Radius, const FConvexVolume &ViewFrustum)
Definition DebugRenderSceneProxy.h:113
FDelegateHandle DebugTextDrawingDelegateHandle
Definition DebugRenderSceneProxy.h:421
TArray< FWireCylinder > Cylinders
Definition DebugRenderSceneProxy.h:407
uint32 ViewFlagIndex
Definition DebugRenderSceneProxy.h:417
static bool SphereInView(const FVector &Center, double Radius, const FSceneView *View)
Definition DebugRenderSceneProxy.h:93
static bool PointInRange(const FVector &Start, const FSceneView *View, double Range)
Definition DebugRenderSceneProxy.h:118
EDrawType
Definition DebugRenderSceneProxy.h:48
@ SolidMesh
Definition DebugRenderSceneProxy.h:49
@ SolidAndWireMeshes
Definition DebugRenderSceneProxy.h:51
@ Invalid
Definition DebugRenderSceneProxy.h:52
@ WireMesh
Definition DebugRenderSceneProxy.h:50
TArray< FCoordinateSystem > CoordinateSystems
Definition DebugRenderSceneProxy.h:415
virtual ENGINE_API void GetDynamicMeshElements(const TArray< const FSceneView * > &Views, const FSceneViewFamily &ViewFamily, uint32 VisibilityMap, FMeshElementCollector &Collector) const override
Definition DebugRenderSceneProxy.cpp:207
float TextWithoutShadowDistance
Definition DebugRenderSceneProxy.h:418
TArray< FSphere > Spheres
Definition DebugRenderSceneProxy.h:410
TArray< FText3d > Texts
Definition DebugRenderSceneProxy.h:411
static bool SegmentInFrustum(const FVector &StartPoint, const FVector &EndPoint, const FConvexVolume &ViewFrustum)
Definition DebugRenderSceneProxy.h:103
FString ViewFlagName
Definition DebugRenderSceneProxy.h:419
TArray< FWireStar > Stars
Definition DebugRenderSceneProxy.h:408
static bool BoxInView(const FVector &Origin, const FVector &Extent, const FSceneView *View)
Definition DebugRenderSceneProxy.h:88
double FarClippingDistance
Definition DebugRenderSceneProxy.h:424
TArray< FCapsule > Capsules
Definition DebugRenderSceneProxy.h:414
TArray< FDebugLine > Lines
Definition DebugRenderSceneProxy.h:403
TArray< FDebugBox > Boxes
Definition DebugRenderSceneProxy.h:409
TWeakObjectPtr< UMaterial > SolidMeshMaterial
Definition DebugRenderSceneProxy.h:426
static bool BoxInFrustum(const FVector &Origin, const FVector &Extent, const FConvexVolume &ViewFrustum)
Definition DebugRenderSceneProxy.h:108
TArray< FDashedLine > DashedLines
Definition DebugRenderSceneProxy.h:404
static bool PointInFrustum(const FVector &Location, const FConvexVolume &ViewFrustum)
Definition DebugRenderSceneProxy.h:98
static bool PointInView(const FVector &Location, const FSceneView *View)
Definition DebugRenderSceneProxy.h:78
static ENGINE_API FConvexVolume AdjustViewFrustumForFarClipping(const FSceneView *InView, double InFarClippingDistance)
Definition DebugRenderSceneProxy.cpp:393
ENGINE_API SIZE_T GetTypeHash() const override
Definition DebugRenderSceneProxy.cpp:201
virtual ENGINE_API void GetDynamicMeshElementsForView(const FSceneView *View, const int32 ViewIndex, const FSceneViewFamily &ViewFamily, const uint32 VisibilityMap, FMeshElementCollector &Collector, FMaterialCache &DefaultMaterialCache, FMaterialCache &SolidMeshMaterialCache) const
Definition DebugRenderSceneProxy.cpp:224
TArray< FMesh > Meshes
Definition DebugRenderSceneProxy.h:413
EDrawType DrawType
Definition DebugRenderSceneProxy.h:422
virtual uint32 GetMemoryFootprint(void) const override
Definition DebugRenderSceneProxy.h:75
ENGINE_API uint32 GetAllocatedSize(void) const
Definition DebugRenderSceneProxy.cpp:142
void DrawLineArrow(FPrimitiveDrawInterface *PDI, const FVector &Start, const FVector &End, const FColor &Color, float Mag) const
Definition DebugRenderSceneProxy.cpp:425
Definition IDelegateInstance.h:14
Definition MaterialRenderProxy.h:102
Definition MeshElementCollector.h:26
Definition PrimitiveDrawInterface.h:19
Definition PrimitiveSceneProxy.h:296
Definition ActorComponent.h:47
Definition SceneView.h:2212
Definition SceneView.h:1425
FConvexVolume ViewFrustum
Definition SceneView.h:1585
FViewMatrices ViewMatrices
Definition SceneView.h:1464
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition Canvas.h:159
Definition Material.h:432
Definition DebugRenderSceneProxy.h:32
ENGINE_API FVector3f GetScaleAdjustedScreenLocation(TNotNull< const UCanvas * > Canvas, FVector WorldLocation)
Definition Color.h:486
static CORE_API const FColor White
Definition Color.h:749
Definition ConvexVolume.h:44
ENGINE_API bool IntersectLineSegment(const FVector &Start, const FVector &End) const
Definition ConvexVolume.cpp:616
ENGINE_API bool IntersectSphere(const FVector &Origin, const float &Radius) const
Definition ConvexVolume.cpp:310
ENGINE_API bool IntersectBox(const FVector &Origin, const FVector &Extent) const
Definition ConvexVolume.cpp:217
bool IntersectPoint(const FVector &Point) const
Definition ConvexVolume.h:163
Definition DebugRenderSceneProxy.h:434
double GetFarClippingDistance() const
Definition DebugRenderSceneProxy.h:479
virtual ~FDebugDrawDelegateHelper()
Definition DebugRenderSceneProxy.h:442
void ResetTexts()
Definition DebugRenderSceneProxy.h:476
float GetTextWithoutShadowDistance() const
Definition DebugRenderSceneProxy.h:478
TArray< FDebugRenderSceneProxy::FText3d > TextArray
Definition DebugRenderSceneProxy.h:445
FDebugDrawDelegateHelper()
Definition DebugRenderSceneProxy.h:435
FDelegateHandle DebugTextDrawingDelegateHandle
Definition DebugRenderSceneProxy.h:483
FDebugDrawDelegate DebugTextDrawingDelegate
Definition DebugRenderSceneProxy.h:482
const TextArray & GetTexts() const
Definition DebugRenderSceneProxy.h:477
EState
Definition DebugRenderSceneProxy.h:485
@ InitializedState
Definition DebugRenderSceneProxy.h:487
@ RegisteredState
Definition DebugRenderSceneProxy.h:488
@ UndefinedState
Definition DebugRenderSceneProxy.h:486
Definition DebugRenderSceneProxy.h:249
FVector End
Definition DebugRenderSceneProxy.h:263
ENGINE_API void Draw(FPrimitiveDrawInterface *PDI) const
Definition DebugRenderSceneProxy.cpp:477
FVector Start
Definition DebugRenderSceneProxy.h:262
FColor Color
Definition DebugRenderSceneProxy.h:264
float Mag
Definition DebugRenderSceneProxy.h:265
FArrowLine(const FVector &InStart, const FVector &InEnd, const FColor &InColor, const float InMag=0.0f)
Definition DebugRenderSceneProxy.h:250
Definition DebugRenderSceneProxy.h:356
FCapsule(const FVector &InBase, const float &InRadius, const FVector &x, const FVector &y, const FVector &z, const float &InHalfHeight, const FLinearColor &InColor, EDrawType InDrawTypeOverride=EDrawType::Invalid, const float InThickness=0.f)
Definition DebugRenderSceneProxy.h:358
FCapsule()
Definition DebugRenderSceneProxy.h:357
FVector Base
Definition DebugRenderSceneProxy.h:374
FVector X
Definition DebugRenderSceneProxy.h:378
float Thickness
Definition DebugRenderSceneProxy.h:376
float Radius
Definition DebugRenderSceneProxy.h:373
FColor Color
Definition DebugRenderSceneProxy.h:375
float HalfHeight
Definition DebugRenderSceneProxy.h:377
Definition DebugRenderSceneProxy.h:157
FCircle(const FVector &InCenter, const FVector &InAxis, const float InRadius, const FColor &InColor, EDrawType InDrawTypeOverride=EDrawType::Invalid, const float InThickness=0.f)
Definition DebugRenderSceneProxy.h:158
float Thickness
Definition DebugRenderSceneProxy.h:174
FVector Axis
Definition DebugRenderSceneProxy.h:171
float Radius
Definition DebugRenderSceneProxy.h:172
FColor Color
Definition DebugRenderSceneProxy.h:173
EDrawType DrawTypeOverride
Definition DebugRenderSceneProxy.h:175
FVector Center
Definition DebugRenderSceneProxy.h:170
ENGINE_API void Draw(FPrimitiveDrawInterface *PDI, EDrawType InDrawType, uint32 InDrawAlpha, FMaterialCache &MaterialCache, int32 ViewIndex, FMeshElementCollector &Collector) const
Definition DebugRenderSceneProxy.cpp:519
Definition DebugRenderSceneProxy.h:321
float Thickness
Definition DebugRenderSceneProxy.h:339
FCone()
Definition DebugRenderSceneProxy.h:322
float Angle2
Definition DebugRenderSceneProxy.h:337
FColor Color
Definition DebugRenderSceneProxy.h:338
FCone(const FMatrix &InConeToWorld, const float InAngle1, const float InAngle2, const FLinearColor &InColor, EDrawType InDrawTypeOverride=EDrawType::Invalid, const float InThickness=0.f)
Definition DebugRenderSceneProxy.h:323
FMatrix ConeToWorld
Definition DebugRenderSceneProxy.h:335
float Angle1
Definition DebugRenderSceneProxy.h:336
Definition DebugRenderSceneProxy.h:384
float Scale
Definition DebugRenderSceneProxy.h:398
FRotator AxisRot
Definition DebugRenderSceneProxy.h:397
FColor Color
Definition DebugRenderSceneProxy.h:399
FVector AxisLoc
Definition DebugRenderSceneProxy.h:396
FCoordinateSystem(const FVector &InAxisLoc, const FRotator &InAxisRot, const float InScale, const FColor &InColor, const float InThickness)
Definition DebugRenderSceneProxy.h:386
float Thickness
Definition DebugRenderSceneProxy.h:400
Definition DebugRenderSceneProxy.h:270
FVector Start
Definition DebugRenderSceneProxy.h:280
FColor Color
Definition DebugRenderSceneProxy.h:282
float DashSize
Definition DebugRenderSceneProxy.h:283
FVector End
Definition DebugRenderSceneProxy.h:281
FDashedLine(const FVector &InStart, const FVector &InEnd, const FColor &InColor, const float InDashSize)
Definition DebugRenderSceneProxy.h:271
Definition DebugRenderSceneProxy.h:180
FDebugBox(const FBox &InBox, const FColor &InColor, const FTransform &InTransform, EDrawType InDrawTypeOverride=EDrawType::Invalid, const float InThickness=0.f)
Definition DebugRenderSceneProxy.h:188
FBox Box
Definition DebugRenderSceneProxy.h:199
float Thickness
Definition DebugRenderSceneProxy.h:201
EDrawType DrawTypeOverride
Definition DebugRenderSceneProxy.h:203
FDebugBox(const FBox &InBox, const FColor &InColor, EDrawType InDrawTypeOverride=EDrawType::Invalid, const float InThickness=0.f)
Definition DebugRenderSceneProxy.h:181
FTransform Transform
Definition DebugRenderSceneProxy.h:202
ENGINE_API void Draw(FPrimitiveDrawInterface *PDI, EDrawType InDrawType, uint32 InDrawAlpha, FMaterialCache &MaterialCache, int32 ViewIndex, FMeshElementCollector &Collector) const
Definition DebugRenderSceneProxy.cpp:507
FColor Color
Definition DebugRenderSceneProxy.h:200
Definition DebugRenderSceneProxy.h:139
FColor Color
Definition DebugRenderSceneProxy.h:149
float Thickness
Definition DebugRenderSceneProxy.h:150
ENGINE_API void Draw(FPrimitiveDrawInterface *PDI) const
Definition DebugRenderSceneProxy.cpp:467
FDebugLine(const FVector &InStart, const FVector &InEnd, const FColor &InColor, const float InThickness=0.f)
Definition DebugRenderSceneProxy.h:140
FVector End
Definition DebugRenderSceneProxy.h:148
FVector Start
Definition DebugRenderSceneProxy.h:147
Definition DebugRenderSceneProxy.h:127
TMap< uint32, FMaterialRenderProxy * > MeshColorInstances
Definition DebugRenderSceneProxy.h:132
bool bUseFakeLight
Definition DebugRenderSceneProxy.h:134
TWeakObjectPtr< UMaterial > SolidMeshMaterial
Definition DebugRenderSceneProxy.h:133
FMaterialRenderProxy * operator[](FLinearColor Color)
Definition DebugRenderSceneProxy.cpp:438
FMeshElementCollector & Collector
Definition DebugRenderSceneProxy.h:131
Definition DebugRenderSceneProxy.h:344
TArray< uint32 > Indices
Definition DebugRenderSceneProxy.h:350
TArray< FDynamicMeshVertex > Vertices
Definition DebugRenderSceneProxy.h:349
Definition DebugRenderSceneProxy.h:288
FSphere(const float &InRadius, const FVector &InLocation, const FLinearColor &InColor, EDrawType InDrawTypeOverride=EDrawType::Invalid)
Definition DebugRenderSceneProxy.h:290
FVector Location
Definition DebugRenderSceneProxy.h:300
float Radius
Definition DebugRenderSceneProxy.h:299
FSphere()
Definition DebugRenderSceneProxy.h:289
FColor Color
Definition DebugRenderSceneProxy.h:301
Definition DebugRenderSceneProxy.h:307
FString Text
Definition DebugRenderSceneProxy.h:315
FText3d(const FString &InString, const FVector &InLocation, const FLinearColor &InColor)
Definition DebugRenderSceneProxy.h:309
FText3d()
Definition DebugRenderSceneProxy.h:308
FVector Location
Definition DebugRenderSceneProxy.h:316
FColor Color
Definition DebugRenderSceneProxy.h:317
Definition DebugRenderSceneProxy.h:208
float HalfHeight
Definition DebugRenderSceneProxy.h:225
float Thickness
Definition DebugRenderSceneProxy.h:227
float Radius
Definition DebugRenderSceneProxy.h:224
FVector Direction
Definition DebugRenderSceneProxy.h:223
ENGINE_API void Draw(FPrimitiveDrawInterface *PDI, EDrawType InDrawType, uint32 InDrawAlpha, FMaterialCache &MaterialCache, int32 ViewIndex, FMeshElementCollector &Collector) const
Definition DebugRenderSceneProxy.cpp:534
FVector Base
Definition DebugRenderSceneProxy.h:222
FColor Color
Definition DebugRenderSceneProxy.h:226
EDrawType DrawTypeOverride
Definition DebugRenderSceneProxy.h:228
FWireCylinder(const FVector &InBase, const FVector &InDirection, const float InRadius, const float InHalfHeight, const FColor &InColor, EDrawType InDrawTypeOverride=EDrawType::Invalid, const float InThickness=0.f)
Definition DebugRenderSceneProxy.h:209
Definition DebugRenderSceneProxy.h:233
float Size
Definition DebugRenderSceneProxy.h:244
FWireStar(const FVector &InPosition, const FColor &InColor, const float InSize)
Definition DebugRenderSceneProxy.h:234
FColor Color
Definition DebugRenderSceneProxy.h:243
ENGINE_API void Draw(FPrimitiveDrawInterface *PDI) const
Definition DebugRenderSceneProxy.cpp:472
FVector Position
Definition DebugRenderSceneProxy.h:242
Definition DynamicMeshBuilder.h:26
Definition Color.h:48
static constexpr UE_FORCEINLINE_HINT T Square(const T A)
Definition UnrealMathUtility.h:578
const FVector & GetViewOrigin() const
Definition SceneView.h:523
Definition WeakObjectPtrTemplates.h:25
static UE_FORCEINLINE_HINT double DistSquared(const TVector< double > &V1, const TVector< double > &V2)
Definition Vector.h:2478