UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChaosCooking.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
9
11
12namespace Chaos
13{
14 class FImplicitObject;
15 class FTriangleMeshImplicitObject;
16}
17
18namespace Chaos
19{
27
29 {
30 FCookHelper() = delete;
32
38
39 void Cook();
40 void CookAsync(FSimpleDelegateGraphTask::FDelegate CompletionDelegate);
41 bool HasWork() const;
42
43 // CancelCookAsync is not guaranteed to have any effect on the work done.
44 // If it is called the cook work may be abandoned and the CookAsync may return early.
45 // If bCancel is true in the CompletionDelegate the results must be ignored.
46 void CancelCookAsync() { bCanceled = true; }
47 bool WasCanceled() const { return bCanceled; }
48
49 private:
50 UBodySetup* SourceSetup;
51 FCookBodySetupInfo CookInfo;
52 std::atomic<bool> bCanceled;
53 };
54}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition Array.h:670
Definition RefCounting.h:454
Definition BodySetup.h:128
void BuildConvexMeshes(TArray< Chaos::FImplicitObjectPtr > &OutTriangleMeshes, const FCookBodySetupInfo &InParams)
Definition ChaosCooking.cpp:160
ENGINE_API Chaos::FTriangleMeshImplicitObjectPtr BuildSingleTrimesh(const FTriMeshCollisionData &Desc, TArray< int32 > &OutFaceRemap, TArray< int32 > &OutVertexRemap)
Definition ChaosCooking.cpp:24
void BuildTriangleMeshes(TArray< Chaos::FTriangleMeshImplicitObjectPtr > &OutTriangleMeshes, TArray< int32 > &OutFaceRemap, TArray< int32 > &OutVertexRemap, const FCookBodySetupInfo &InParams)
Definition ChaosCooking.cpp:207
Definition SkeletalMeshComponent.h:307
Definition ChaosCooking.h:29
TArray< int32 > FaceRemap
Definition ChaosCooking.h:36
TArray< Chaos::FImplicitObjectPtr > SimpleImplicits
Definition ChaosCooking.h:33
bool HasWork() const
Definition ChaosCooking.cpp:376
void Cook()
Definition ChaosCooking.cpp:352
FBodySetupUVInfo UVInfo
Definition ChaosCooking.h:35
TArray< int32 > VertexRemap
Definition ChaosCooking.h:37
TArray< Chaos::FTriangleMeshImplicitObjectPtr > ComplexImplicits
Definition ChaosCooking.h:34
bool WasCanceled() const
Definition ChaosCooking.h:47
void CancelCookAsync()
Definition ChaosCooking.h:46
void CookAsync(FSimpleDelegateGraphTask::FDelegate CompletionDelegate)
Definition ChaosCooking.cpp:370
Definition BodySetup.h:47
Definition BodySetup.h:72
Definition Interface_CollisionDataProviderCore.h:28