UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MLLevelSetElem.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
8#include "NNEModelData.h"
9#include "NNERuntimeCPU.h"
10#include "Chaos/MLLevelset.h"
11#include "MLLevelSetElem.generated.h"
12
14
15USTRUCT()
17{
19
23
25 {
26 CloneElem(Other);
27 }
28
30 {
31 CloneElem(Other);
32 return *this;
33 }
34
36
37 virtual FTransform GetTransform() const override final
38 {
39 return FTransform();
40 }
41
42 // Draw helpers
44 ENGINE_API void GetInteriorGridCells(TArray<FBox>& CellBoxes, double InteriorThreshold = 0.0) const;
45
47 ENGINE_API void GetZeroIsosurfaceGridCellFaces(TArray<FVector3f>& Vertices, TArray<FIntVector>& Tris) const;
48
49 // Draw functions
50 ENGINE_API virtual void DrawElemWire(class FPrimitiveDrawInterface* PDI, const FTransform& ElemTM, const float Scale, const FColor Color) const override;
51 ENGINE_API virtual void DrawElemSolid(class FPrimitiveDrawInterface* PDI, const FTransform& ElemTM, const float Scale, const FMaterialRenderProxy* MaterialRenderProxy) const override;
52 ENGINE_API void GetElemSolid(const FTransform& ElemTM, const FVector& Scale3D, const FMaterialRenderProxy* MaterialRenderProxy, int32 ViewIndex, class FMeshElementCollector& Collector) const;
53
54 ENGINE_API FBox CalcAABB(const FTransform& BoneTM, const FVector& Scale3D) const;
55 ENGINE_API FBox UntransformedAABB() const;
56 ENGINE_API FIntVector3 GridResolution() const;
57
58 bool Serialize(FArchive& Ar);
59
61 {
62 return MLLevelSet;
63 }
64
65private:
67
68 UPROPERTY()
69 TObjectPtr<UNNEModelData> NNESignedDistanceModelData;
70
71 UPROPERTY()
72 TObjectPtr<UNNEModelData> NNEIncorrectZoneModelData;
73
75 ENGINE_API void CloneElem(const FKMLLevelSetElem& Other);
76};
77
78/* Enable our own serialization function to handle FMLLevelSet.*/
81{
82 enum
83 {
84 WithSerializer = true
85 };
86 static constexpr EPropertyObjectReferenceType WithSerializerObjectReferences = EPropertyObjectReferenceType::None;
87};
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
ENGINE_API bool bEnableMLLevelSet
Definition KAggregateGeom.cpp:32
UE::Math::TTransform< double > FTransform
Definition MathFwd.h:53
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
EPropertyObjectReferenceType
Definition ObjectMacros.h:533
Definition Archive.h:1208
Definition MaterialRenderProxy.h:102
Definition MeshElementCollector.h:26
Definition PrimitiveDrawInterface.h:19
Definition Array.h:670
Definition SharedPointer.h:692
Definition NNEModelData.h:74
Definition PhysicsAsset.h:13
Definition MLLevelset.h:25
Definition Color.h:486
Definition MLLevelSetElem.h:17
const TSharedPtr< Chaos::FMLLevelSet, ESPMode::ThreadSafe > GetMLLevelSet() const
Definition MLLevelSetElem.h:60
virtual FTransform GetTransform() const override final
Definition MLLevelSetElem.h:37
FKMLLevelSetElem(const FKMLLevelSetElem &Other)
Definition MLLevelSetElem.h:24
const FKMLLevelSetElem & operator=(const FKMLLevelSetElem &Other)
Definition MLLevelSetElem.h:29
Definition ShapeElem.h:35
Definition ObjectPtr.h:488
Definition StructOpsTypeTraits.h:11
Definition StructOpsTypeTraits.h:46