UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PBDRigidClusteringAlgo.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
5
6namespace Chaos
7{
8 enum class EMassOffsetType : uint8
9 {
10 None = 0,
11 Position = 1 << 0,
12 Rotation = 1 << 1
13 };
15
17 {
18 None = 0,
20 };
22
25 const TSet<FPBDRigidParticleHandle*>& Children);
26
27 // MassOffsetOperations & LocalInertiaDropOffDiagonalTerms: Discard off-diagonal inertia terms in particle's local space
29
30 // MassOffsetTypes & Position: set X/P of Cluster to its world CoM, and set its CoM to ZeroVector
31 // MassOffsetTypes & Rotation: set R/Q of Cluster to its world RoM, and set its RoM to Identity
33
38
41 const TSet<FPBDRigidParticleHandle*>& Children,
44 const FClusterCreationParameters& Parameters);
45
46 // Scale proxy geometry and set the result to the particle handle
48
49 // Update the collision acceleration structure and flags
51
52 UE_DEPRECATED(5.4, "Use UpdateGeometry with FImplicitObjectPtr instead")
59
60
66} // namespace Chaos
#define FORCEINLINE
Definition AndroidPlatform.h:140
#define check(expr)
Definition AssertionMacros.h:314
#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 ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
ESPMode
Definition SharedPointerFwd.h:12
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition ImplicitObject.h:111
Definition PBDRigidClustering.h:56
FPBDRigidsEvolutionGBF FRigidEvolution
Definition PBDRigidClustering.h:59
TMap< FClusterHandle, FRigidHandleArray > FClusterMap
Definition PBDRigidClustering.h:63
Definition ParticleHandle.h:987
Definition Array.h:670
Definition SharedPointer.h:692
Definition SkeletalMeshComponent.h:307
FRigidTransform3 MoveClusterToMassOffset(FPBDRigidClusteredParticleHandle *Cluster, const EMassOffsetType MassOffsetTypes)
Definition PBDRigidClusteringAlgo.cpp:104
TPBDRigidParticleHandle< FReal, 3 > FPBDRigidParticleHandle
Definition ParticleHandleFwd.h:60
void AdjustClusterInertia(FPBDRigidClusteredParticleHandle *Cluster, const EInertiaOperations InertiaOperations)
Definition PBDRigidClusteringAlgo.cpp:92
TRigidTransform< FReal, 3 > FRigidTransform3
Definition Core.h:22
void UpdateCollisionFlags(Chaos::FPBDRigidClusteredParticleHandle *ParticleHandle, const bool bUseParticleImplicit)
Definition PBDRigidClusteringAlgo.cpp:239
void UpdateClusterMassProperties(FPBDRigidClusteredParticleHandle *Parent, const TSet< FPBDRigidParticleHandle * > &Children)
Definition PBDRigidClusteringAlgo.cpp:40
void BuildScaledGeometry(Chaos::FPBDRigidClusteredParticleHandle *ParticleHandle, const Chaos::FImplicitObjectPtr &ProxyGeometry, const FVector &WorldScale)
Definition PBDRigidClusteringAlgo.cpp:210
void UpdateGeometry(Chaos::FPBDRigidClusteredParticleHandle *Parent, const TSet< FPBDRigidParticleHandle * > &Children, const FRigidClustering::FClusterMap &ChildrenMap, const Chaos::FImplicitObjectPtr &ProxyGeometry, const FClusterCreationParameters &Parameters)
Definition PBDRigidClusteringAlgo.cpp:264
TPBDRigidClusteredParticleHandle< FReal, 3 > FPBDRigidClusteredParticleHandle
Definition ParticleHandleFwd.h:75
EInertiaOperations
Definition PBDRigidClusteringAlgo.h:17
EMassOffsetType
Definition PBDRigidClusteringAlgo.h:9
void UpdateClusterFilterDataFromChildren(FPBDRigidClusteredParticleHandle *ClusterParent, const TArray< FPBDRigidParticleHandle * > &Children)
Definition PBDRigidClusteringAlgo.cpp:471
Definition ClusterCreationParameters.h:14