UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChaosVDParticleDataWrapper.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "HAL/Platform.h"
9
10#include "ChaosVDParticleDataWrapper.generated.h"
11
12UENUM()
24
25UENUM()
31
32UENUM()
34{
35 Uninitialized = 0,
36 Sleeping = 1,
37 Kinematic = 2,
38 Static = 3,
39 Dynamic = 4,
40
41 Count
42};
43
44USTRUCT()
46{
48
50
51 UPROPERTY(VisibleAnywhere, Category=ParticleName)
52 FName OwnerName;
53 UPROPERTY(VisibleAnywhere, Category=ParticleName)
54 FName ComponentName;
55 UPROPERTY(VisibleAnywhere, Category=ParticleName)
56 FName BoneName;
57 UPROPERTY(VisibleAnywhere, Category=ParticleName)
59
60 UPROPERTY(VisibleAnywhere, Category=ParticleAssetData)
61 FTopLevelAssetPath MapAssetPath;
62 UPROPERTY(VisibleAnywhere, Category=ParticleAssetData)
63 FTopLevelAssetPath OwnerAssetPath;
64
65 UPROPERTY()
66 uint64 MetadataID = 0;
67
69
70 CHAOSVDRUNTIME_API FString ToString() const;
71};
72
74USTRUCT()
76{
79
80 virtual bool HasValidData() const { return bHasValidData; }
81
82 void MarkAsValid() { bHasValidData = true; }
83
84protected:
85 UPROPERTY()
86 bool bHasValidData = false;
87};
88
94
96USTRUCT()
106
107USTRUCT()
109{
111
113 : bGravityEnabled(false),
114 bCCDEnabled(false),
115 bOneWayInteractionEnabled(false),
116 bInertiaConditioningEnabled(false),
117 GravityGroupIndex(0),
118 bMACDEnabled(false),
119 bPartialIslandSleepAllowed(true),
120 bGyroscopicTorqueEnabled(false)
121 {
122 }
123
125
126 template <typename TOther>
127 void CopyFrom(const TOther& Other)
128 {
129 bGravityEnabled = Other.GetGravityEnabled();
130 bCCDEnabled = Other.GetCCDEnabled();
131 bOneWayInteractionEnabled = Other.GetOneWayInteractionEnabled();
132 bInertiaConditioningEnabled = Other.GetInertiaConditioningEnabled();
133 GravityGroupIndex = Other.GetGravityGroupIndex();
134 bMACDEnabled = Other.GetMACDEnabled();
135 bPartialIslandSleepAllowed = Other.GetPartialIslandSleepAllowed();
136 bGyroscopicTorqueEnabled = Other.GetGyroscopicTorqueEnabled();
137
138 bHasValidData = true;
139 }
140
141 template <typename TOther>
142 void CopyTo(TOther& Other) const
143 {
144 Other.SetGravityEnabled(bGravityEnabled);
145 Other.SetCCDEnabled(bCCDEnabled);
146 Other.SetOneWayInteractionEnabled(bOneWayInteractionEnabled);
147 Other.SetInertiaConditioningEnabled(bInertiaConditioningEnabled);
148 Other.SetGravityGroupIndex(GravityGroupIndex);
149 Other.SetMACDEnabled(bMACDEnabled);
150 Other.SetPartialIslandSleepAllowed(bPartialIslandSleepAllowed);
151 Other.SetGyroscopicTorqueEnabled(bGyroscopicTorqueEnabled);
152
153 }
154
155 UPROPERTY(VisibleAnywhere, Category= "Particle Control Flags")
156 bool bGravityEnabled;
157 UPROPERTY(VisibleAnywhere, Category= "Particle Control Flags")
158 bool bCCDEnabled;
159 UPROPERTY(VisibleAnywhere, Category= "Particle Control Flags")
160 bool bOneWayInteractionEnabled;
161 UPROPERTY(VisibleAnywhere, Category = "Particle Control Flags")
162 bool bInertiaConditioningEnabled;
163 UPROPERTY(VisibleAnywhere, Category= "Particle Control Flags")
164 int32 GravityGroupIndex;
165 UPROPERTY(VisibleAnywhere, Category = "Particle Control Flags")
166 bool bMACDEnabled;
167 UPROPERTY(VisibleAnywhere, Category = "Particle Control Flags")
168 bool bPartialIslandSleepAllowed;
169 UPROPERTY(VisibleAnywhere, Category = "Particle Control Flags")
170 bool bGyroscopicTorqueEnabled;
171};
172
174
175template<>
183
187USTRUCT()
189{
191
195
196 enum class EAccessorType
197 {
198 PQ,
199 XR
200 };
201
202 template <typename OtherType, EAccessorType AccessorType>
204 {
205 if constexpr (AccessorType == EAccessorType::PQ)
206 {
207 MX = Other.GetP();
208 MR = Other.GetQ();
209
210 }
211 else if (AccessorType == EAccessorType::XR)
212 {
213 MX = Other.GetX();
214 MR = Other.GetR();
215 }
216
217 bHasValidData = true;
218 }
219
220 template <typename OtherType, EAccessorType AccessorType>
221 void CopyTo(OtherType& Other) const
222 {
223 if constexpr (AccessorType == EAccessorType::PQ)
224 {
225 Other.SetP(MX);
226 Other.SetQ(MR);
227 }
228 else if (AccessorType == EAccessorType::XR)
229 {
230 Other.SetX(MX);
231 Other.SetR(MR);
232 }
233 }
234
236
237 UPROPERTY(VisibleAnywhere, Category= "Particle Velocities")
239
240 UPROPERTY(VisibleAnywhere, Category= "Particle Velocities")
242};
243
245
249USTRUCT()
251{
253
257
259
260 template <typename TOther>
261 void CopyFrom(const TOther& Other)
262 {
263 MV = Other.GetV();
264 MW = Other.GetW();
265 bHasValidData = true;
266 }
267
268 template <typename TOther>
269 void CopyTo(TOther& Other) const
270 {
271 Other.SetV(MV);
272 Other.SetW(MW);
273 }
274
275 UPROPERTY(VisibleAnywhere, Category= "Particle Velocities")
277
278 UPROPERTY(VisibleAnywhere, Category= "Particle Velocities")
280};
281
283
284USTRUCT()
286{
288
292
294
295 template <typename TOther>
296 void CopyFrom(const TOther& Other)
297 {
298 MMin = Other.WorldSpaceInflatedBounds().Min();
299 MMax = Other.WorldSpaceInflatedBounds().Max();
300 bHasValidData = true;
301 }
302
303 template <typename TOther>
304 void CopyTo(TOther& Other) const
305 {
306 // TODO:
307 }
308
309 UPROPERTY(VisibleAnywhere, Category = "Particle Bounds Min")
311
312 UPROPERTY(VisibleAnywhere, Category = "Particle Bounds Max")
314};
315
317
321USTRUCT()
323{
325
329
331
332 template <typename TOther>
334 {
335 MAcceleration = Other.Acceleration();
336 MAngularAcceleration = Other.AngularAcceleration();
337 MLinearImpulseVelocity = Other.LinearImpulseVelocity();
338 MAngularImpulseVelocity = Other.AngularImpulseVelocity();
339
340 bHasValidData = true;
341 }
342
343 template <typename TOther>
344 void CopyTo(TOther& Other) const
345 {
346 Other.SetAcceleration(MAcceleration);
347 Other.SetAngularAcceleration(MAngularAcceleration);
348 Other.SetLinearImpulseVelocity(MLinearImpulseVelocity);
349 Other.SetAngularImpulseVelocity(MAngularImpulseVelocity);
350 }
351
352 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamics")
353 FVector MAcceleration = FVector(ForceInit);
354
355 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamics")
356 FVector MAngularAcceleration = FVector(ForceInit);
357
358 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamics")
359 FVector MLinearImpulseVelocity = FVector(ForceInit);
360
361 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamics")
362 FVector MAngularImpulseVelocity = FVector(ForceInit);
363};
364
366
370USTRUCT()
372{
374
375 FChaosVDParticleMassProps(): MM(0), MInvM(0)
376 {
377 }
378
380
381 template <typename TOther>
382 void CopyFrom(const TOther& Other)
383 {
384 MCenterOfMass = Other.CenterOfMass();
385 MRotationOfMass = Other.RotationOfMass();
386 MI = FVector(Other.I());
387 MInvI = FVector(Other.InvI());
388 MM = Other.M();
389 MInvM = Other.InvM();
390
391 bHasValidData = true;
392 }
393
394 template <typename TOther>
395 void CopyTo(TOther& Other) const
396 {
397 Other.SetCenterOfMass(MCenterOfMass);
398 Other.SetRotationOfMass(MRotationOfMass);
399 Other.SetI(MI);
400 Other.SetInvI(MInvI);
401 Other.SetM(MM);
402 Other.SetInvM(MInvM);
403 }
404
405 UPROPERTY(VisibleAnywhere, Category= "Particle Mass Props")
406 FVector MCenterOfMass = FVector(ForceInit);
407
408 UPROPERTY(VisibleAnywhere, Category= "Particle Mass Props")
409 FQuat MRotationOfMass = FQuat(ForceInit);
410
411 UPROPERTY(VisibleAnywhere, Category= "Particle Mass Props")
413
414 UPROPERTY(VisibleAnywhere, Category= "Particle Mass Props")
416
417 UPROPERTY(VisibleAnywhere, Category= "Particle Mass Props")
418 double MM = 0.0;
419
420 UPROPERTY(VisibleAnywhere, Category= "Particle Mass Props")
421 double MInvM = 0.0;
422};
423
425
429USTRUCT()
431{
433
434 FChaosVDParticleDynamicMisc(): MLinearEtherDrag(0), MAngularEtherDrag(0), MMaxLinearSpeedSq(0), MMaxAngularSpeedSq(0), MInitialOverlapDepenetrationVelocity(0), MSleepThresholdMultiplier(1),
435 MCollisionGroup(0), MObjectState(), MSleepType(), bDisabled(false), PositionSolverIterationCount(INDEX_NONE), VelocitySolverIterationCount(INDEX_NONE), ProjectionSolverIterationCount(INDEX_NONE)
436 {
437 }
438
440
441 template <typename TOther>
442 void CopyFrom(const TOther& Other)
443 {
444 MLinearEtherDrag = Other.LinearEtherDrag();
445 MAngularEtherDrag = Other.AngularEtherDrag();
446 MMaxLinearSpeedSq = Other.MaxLinearSpeedSq();
447 MMaxAngularSpeedSq = Other.MaxAngularSpeedSq();
448 MInitialOverlapDepenetrationVelocity = Other.InitialOverlapDepenetrationVelocity();
449 MSleepThresholdMultiplier = Other.SleepThresholdMultiplier();
450 MObjectState = static_cast<EChaosVDObjectStateType>(Other.ObjectState());
451 MCollisionGroup = Other.CollisionGroup();
452 MSleepType = static_cast<EChaosVDSleepType>(Other.SleepType());
453 MCollisionConstraintFlag = Other.CollisionConstraintFlags();
454
455 MControlFlags.CopyFrom(Other.ControlFlags());
456
457 bDisabled = Other.Disabled();
458
459 bHasValidData = true;
460
461 PositionSolverIterationCount = static_cast<int8>(Other.IterationSettings().GetNumPositionIterations());
462 VelocitySolverIterationCount = static_cast<int8>(Other.IterationSettings().GetNumVelocityIterations());
463 ProjectionSolverIterationCount = static_cast<int8>(Other.IterationSettings().GetNumProjectionIterations());
464 }
465
466 template <typename OtherType, typename ControlFlagsType, typename SleepStateType>
468 {
469 Other.SetLinearEtherDrag(MLinearEtherDrag);
470 Other.SetAngularEtherDrag(MAngularEtherDrag);
471 Other.SetMaxLinearSpeedSq(MMaxLinearSpeedSq);
472 Other.SetMaxAngularSpeedSq(MMaxAngularSpeedSq);
473 Other.SetInitialOverlapDepenetrationVelocity(MInitialOverlapDepenetrationVelocity);
474 Other.SetSleepThresholdMultiplier(MSleepThresholdMultiplier);
475 Other.SetCollisionGroup(MCollisionGroup);
476 Other.SetSleepType(static_cast<SleepStateType>(MSleepType));
477 Other.SetCollisionConstraintFlags(MCollisionConstraintFlag);
478
479 ControlFlagsType ControlFlags;
480 MControlFlags.CopyTo(ControlFlags);
481
482 Other.SetControlFlags(ControlFlags);
483
484 Other.SetDisabled(bDisabled);
485
486 Other.SetPositionSolverIterations((uint32)PositionSolverIterationCount);
487 Other.SetVelocitySolverIterations((uint32)VelocitySolverIterationCount);
488 Other.SetProjectionSolverIterations((uint32)ProjectionSolverIterationCount);
489 }
490
491 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamic Misc")
492 double MLinearEtherDrag;
493
494 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamic Misc")
495 double MAngularEtherDrag;
496
497 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamic Misc")
498 double MMaxLinearSpeedSq;
499
500 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamic Misc")
501 double MMaxAngularSpeedSq;
502
503 UPROPERTY(VisibleAnywhere, Category = "Particle Dynamic Misc")
504 float MInitialOverlapDepenetrationVelocity;
505
506 UPROPERTY(VisibleAnywhere, Category = "Particle Dynamic Misc")
507 float MSleepThresholdMultiplier;
508
509 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamic Misc")
510 int32 MCollisionGroup;
511
512 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamic Misc")
514
515 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamic Misc")
517
518 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamic Misc")
519 uint32 MCollisionConstraintFlag = 0;
520
521 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamic Misc")
523
524 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamic Misc")
525 bool bDisabled;
526
527 UPROPERTY(VisibleAnywhere, Category = "Particle Control Flags")
528 int8 PositionSolverIterationCount;
529
530 UPROPERTY(VisibleAnywhere, Category = "Particle Control Flags")
531 int8 VelocitySolverIterationCount;
532
533 UPROPERTY(VisibleAnywhere, Category = "Particle Control Flags")
534 int8 ProjectionSolverIterationCount;
535};
536
538
540USTRUCT()
542{
544
545 UPROPERTY(VisibleAnywhere, Category=ConnectivityEdge)
546 int32 SiblingParticleID = INDEX_NONE;
547
548 UPROPERTY(VisibleAnywhere, Category=ConnectivityEdge)
549 float Strain = 0.0f;
550
552 {
553 Ar << SiblingParticleID;
554 Ar << Strain;
555
556 return true;
557 }
558};
559
561
562
565USTRUCT()
567{
569
573
575
576 template <typename TOther>
577 void CopyFrom(const TOther& Other)
578 {
579 ParentParticleID = Other.ClusterIds().Id ? Other.ClusterIds().Id->UniqueIdx().Idx : INDEX_NONE;
580
581 NumChildren = Other.ClusterIds().NumChildren;
582
583 ChildToParent = Other.ChildToParent();
584 ClusterGroupIndex = Other.ClusterGroupIndex();
585 bInternalCluster = Other.InternalCluster();
586 CollisionImpulse = Other.CollisionImpulses();
587 ExternalStrains = Other.GetExternalStrain();
588 InternalStrains = Other.GetInternalStrains();
589 Strain = Other.Strain();
590
591
592 ConnectivityEdges.Reserve(Other.ConnectivityEdges().Num());
593 for (auto& Edge : Other.ConnectivityEdges())
594 {
595 int32 SiblingId = Edge.Sibling ? Edge.Sibling->UniqueIdx().Idx : INDEX_NONE;
596 ConnectivityEdges.Add( { SiblingId, Edge.Strain });
597 }
598
599 bIsAnchored = Other.IsAnchored();
600 bUnbreakable = Other.Unbreakable();
601 bIsChildToParentLocked = Other.IsChildToParentLocked();
602
603 bHasValidData = true;
604 }
605
606 template <typename TOther>
607 void CopyTo(TOther& Other) const
608 {
609 //TODO:
610 }
611
612 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
613 int32 ParentParticleID = INDEX_NONE;
614
615 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster | Cluster Id")
616 int32 NumChildren = INDEX_NONE;
617
618 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
619 FTransform ChildToParent;
620
621 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
622 int32 ClusterGroupIndex = INDEX_NONE;
623
624 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
625 bool bInternalCluster = false;
626
627 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
628 float CollisionImpulse = 0.0f;
629
630 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
631 float ExternalStrains = 0.0f;
632
633 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
634 float InternalStrains = 0.0f;
635
636 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
637 float Strain = 0.0f;
638
639 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
641
642 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
643 bool bIsAnchored = false;
644
645 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
646 bool bUnbreakable = false;
647
648 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster")
649 bool bIsChildToParentLocked = false;
650};
651
653
654UENUM()
661
662UENUM()
664{
665 None,
666 Reset,
667 Position,
668 Velocity,
669};
670
671USTRUCT()
673{
675
677
678 template <typename OtherType>
680 {
681 Mode = static_cast<EChaosVDKinematicTargetMode>(Other.GetMode());
682
684 {
685 Position = Other.GetPosition();
686 Rotation = FQuat(Other.GetRotation());
687 }
688
689 bHasValidData = true;
690 }
691
692 template <typename OtherType, class ModeType>
693 void CopyTo(OtherType& Other) const
694 {
695 Other.SetTargetMode(Position, Rotation);
696 Other.SetMode(static_cast<ModeType>(Mode));
697 }
698
699 UPROPERTY(VisibleAnywhere, Category= "Kinematic Target")
701
702 UPROPERTY(VisibleAnywhere, Category= "Kinematic Target")
704
705 UPROPERTY(VisibleAnywhere, Category= "Kinematic Target")
707};
708
710
711USTRUCT()
713{
715
717
718 template <typename OtherType>
720 {
721 MV = Other.VSmooth();
722 MW = Other.WSmooth();
723
724 bHasValidData = true;
725 }
726
727 template <typename OtherType>
728 void CopyTo(OtherType& Other) const
729 {
730 Other.SetVSmooth(MV);
731 Other.SetWSmooth(MW);
732 }
733
734 UPROPERTY(VisibleAnywhere, Category= "VSmooth")
736 UPROPERTY(VisibleAnywhere, Category= "VSmooth")
738};
739
741
745USTRUCT(DisplayName="Particle Data")
747{
749
754 virtual ~FChaosVDParticleDataWrapper() override = default;
758
760
762
764
765 UPROPERTY()
766 int32 DirtyFlagsBits = 0;
767
768 UPROPERTY()
770
771 UPROPERTY(VisibleAnywhere, Category= "General")
772 uint32 GeometryHash = 0;
773
774#if WITH_EDITORONLY_DATA
775 UE_DEPRECATED(5.7, "Please Use the GetDebugName accessor. This property is no longer in use")
779 UPROPERTY(VisibleAnywhere, Category= "General", DisplayName="Legacy Debug Name")
780 FString DebugName;
781
785 UE_DEPRECATED(5.7, "Please Use the HasLegacyDebugName accessor. This property is no longer in use")
786 bool bHasDebugName = false;
787#endif
788
789 UPROPERTY()
790 uint64 MetadataId = 0;
791
792 UPROPERTY(VisibleAnywhere, Category= "General")
793 int32 ParticleIndex = INDEX_NONE;
794
795 UPROPERTY(VisibleAnywhere, Category= "General")
796 int32 SolverID = INDEX_NONE;
797
798 UPROPERTY(VisibleAnywhere, Category= "General")
800
801 UPROPERTY(VisibleAnywhere, Category= "Particle Position Rotation")
802 FChaosVDParticlePositionRotation ParticlePositionRotation;
803
804 UPROPERTY(VisibleAnywhere, Category= "Particle Velocities")
805 FChaosVDParticleVelocities ParticleVelocities;
806
807 UPROPERTY(VisibleAnywhere, Category = "Particle Inflated Bounds")
808 FChaosVDParticleBounds ParticleInflatedBounds;
809
810 UPROPERTY(VisibleAnywhere, Category= "Particle Kinematic Target")
811 FChaosVDKinematicTarget ParticleKinematicTarget;
812
813 UPROPERTY(VisibleAnywhere, Category= "Particle V/W Smooth")
814 FChaosVDVSmooth ParticleVWSmooth;
815
816 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamics")
817 FChaosVDParticleDynamics ParticleDynamics;
818
819 UPROPERTY(VisibleAnywhere, Category= "Particle Dynamics Misc")
820 FChaosVDParticleDynamicMisc ParticleDynamicsMisc;
821
822 UPROPERTY(VisibleAnywhere, Category= "Particle Mass Props")
823 FChaosVDParticleMassProps ParticleMassProps;
824
825 UPROPERTY(VisibleAnywhere, Category= "Particle Cluster Data")
826 FChaosVDParticleCluster ParticleCluster;
827
828 UPROPERTY()
829 TArray<FChaosVDShapeCollisionData> CollisionDataPerShape;
830
831 CHAOSVDRUNTIME_API bool HasLegacyDebugName() const;
832 CHAOSVDRUNTIME_API FString GetDebugName() const;
834 CHAOSVDRUNTIME_API const TSharedPtr<FChaosVDParticleMetadata>& GetMetadataInstance() const;
835
836 virtual bool HasValidData() const override
837 {
838 return bHasValidData;
839 }
840
842
843private:
845 TSharedPtr<FChaosVDParticleMetadata> ParticleMetadataInstance;
846};
847
#define CVD_IMPLEMENT_SERIALIZER(Type)
Definition ChaosVDDataSerializationMacros.h:30
EChaosVDParticleType
Definition ChaosVDParticleDataWrapper.h:14
EChaosVDParticlePairIndex
Definition ChaosVDParticleDataWrapper.h:90
EChaosVDSleepType
Definition ChaosVDParticleDataWrapper.h:27
EChaosVDObjectStateType
Definition ChaosVDParticleDataWrapper.h:34
EChaosVDParticleContext
Definition ChaosVDParticleDataWrapper.h:656
EChaosVDKinematicTargetMode
Definition ChaosVDParticleDataWrapper.h:664
@ INDEX_NONE
Definition CoreMiscDefines.h:150
@ ForceInit
Definition CoreMiscDefines.h:155
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
#define FVector
Definition IOSSystemIncludes.h:8
@ General
Definition MaterialExpressionFunctionInput.h:41
UE::Math::TQuat< double > FQuat
Definition MathFwd.h:50
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition Archive.h:1208
Definition NameTypes.h:617
Definition Array.h:670
Definition SharedPointer.h:692
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition ChaosVDParticleDataWrapper.h:542
Definition ChaosVDParticleDataWrapper.h:98
virtual int32 GetConstraintIndex() const
Definition ChaosVDParticleDataWrapper.h:104
virtual int32 GetParticleIDAtSlot(EChaosVDParticlePairIndex IndexSlot) const
Definition ChaosVDParticleDataWrapper.h:103
Definition ChaosVDParticleDataWrapper.h:109
void CopyTo(TOther &Other) const
Definition ChaosVDParticleDataWrapper.h:142
void CopyFrom(const TOther &Other)
Definition ChaosVDParticleDataWrapper.h:127
Definition ChaosVDParticleDataWrapper.h:673
void CopyFrom(const OtherType &Other)
Definition ChaosVDParticleDataWrapper.h:679
void CopyTo(OtherType &Other) const
Definition ChaosVDParticleDataWrapper.h:693
Definition ChaosVDParticleDataWrapper.h:286
void CopyTo(TOther &Other) const
Definition ChaosVDParticleDataWrapper.h:304
void CopyFrom(const TOther &Other)
Definition ChaosVDParticleDataWrapper.h:296
Definition ChaosVDParticleDataWrapper.h:567
void CopyTo(TOther &Other) const
Definition ChaosVDParticleDataWrapper.h:607
void CopyFrom(const TOther &Other)
Definition ChaosVDParticleDataWrapper.h:577
Definition ChaosVDParticleDataWrapper.h:747
PRAGMA_ENABLE_DEPRECATION_WARNINGS static CHAOSVDRUNTIME_API FStringView WrapperTypeName
Definition ChaosVDParticleDataWrapper.h:761
FChaosVDParticleDataWrapper(FChaosVDParticleDataWrapper &&Other) noexcept=default
FChaosVDParticleDataWrapper & operator=(FChaosVDParticleDataWrapper &&Other) noexcept=default
virtual ~FChaosVDParticleDataWrapper() override=default
PRAGMA_DISABLE_DEPRECATION_WARNINGS FChaosVDParticleDataWrapper(const FChaosVDParticleDataWrapper &Other)=default
FChaosVDParticleDataWrapper()
Definition ChaosVDParticleDataWrapper.h:755
FChaosVDParticleDataWrapper & operator=(const FChaosVDParticleDataWrapper &Other)=default
Definition ChaosVDParticleDataWrapper.h:431
void CopyWithoutStateTo(OtherType &Other) const
Definition ChaosVDParticleDataWrapper.h:467
void CopyFrom(const TOther &Other)
Definition ChaosVDParticleDataWrapper.h:442
Definition ChaosVDParticleDataWrapper.h:323
void CopyFrom(TOther &Other)
Definition ChaosVDParticleDataWrapper.h:333
void CopyTo(TOther &Other) const
Definition ChaosVDParticleDataWrapper.h:344
Definition ChaosVDParticleDataWrapper.h:372
void CopyFrom(const TOther &Other)
Definition ChaosVDParticleDataWrapper.h:382
void CopyTo(TOther &Other) const
Definition ChaosVDParticleDataWrapper.h:395
Definition ChaosVDParticleDataWrapper.h:46
Definition ChaosVDParticleDataWrapper.h:189
void CopyTo(OtherType &Other) const
Definition ChaosVDParticleDataWrapper.h:221
EAccessorType
Definition ChaosVDParticleDataWrapper.h:197
void CopyFrom(const OtherType &Other)
Definition ChaosVDParticleDataWrapper.h:203
Definition ChaosVDParticleDataWrapper.h:251
void CopyFrom(const TOther &Other)
Definition ChaosVDParticleDataWrapper.h:261
void CopyTo(TOther &Other) const
Definition ChaosVDParticleDataWrapper.h:269
Definition ChaosVDCollisionDataWrappers.h:434
Definition ChaosVDParticleDataWrapper.h:713
void CopyTo(OtherType &Other) const
Definition ChaosVDParticleDataWrapper.h:728
void CopyFrom(const OtherType &Other)
Definition ChaosVDParticleDataWrapper.h:719
Definition ChaosVDParticleDataWrapper.h:76
void MarkAsValid()
Definition ChaosVDParticleDataWrapper.h:82
Definition TopLevelAssetPath.h:38
Definition StructOpsTypeTraits.h:11
Definition StructOpsTypeTraits.h:46