9#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_6
27class UPrimitiveComponent;
259 UE_DEPRECATED(5.6,
"Use the other Draw function and pass the proper data in the constructor")
436 : State(UndefinedState)
437 , ViewFlagName(
TEXT(
"Game"))
438 , TextWithoutShadowDistance(1500)
439 , FarClippingDistance(0.0)
466 ENGINE_API virtual void UnregisterDebugDrawDelegate();
468 ENGINE_API void ReregisterDebugDrawDelegate();
472 ENGINE_API virtual void RegisterDebugDrawDelegateInternal();
491 bool bDeferredRegister =
false;
501 FString ViewFlagName;
502 float TextWithoutShadowDistance;
503 double FarClippingDistance;
@ ForceInit
Definition CoreMiscDefines.h:155
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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
UE::Math::TBox< double > FBox
Definition MathFwd.h:55
T TNotNull
Definition NotNull.h:307
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 UnrealString.h.inl:34
Definition Material.h:432
Definition DebugRenderSceneProxy.h:32
ENGINE_API FVector3f GetScaleAdjustedScreenLocation(TNotNull< const UCanvas * > Canvas, FVector WorldLocation)
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
FCoordinateSystem()=delete
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
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