UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SoftsSolverParticlesRange.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
7
8namespace Chaos::Softs
9{
10
11class FSolverParticlesRange final : public TParticlesRange<FSolverParticles>
12{
13public:
20
22 : TParticlesRange<FSolverParticles>(InParticles, InOffset, InRange)
23 {}
24
28
29 // SolverParticles data
30 const FSolverVec3& P(const int32 Index) const { return GetParticles().P(Index + Offset); }
31 FSolverVec3& P(const int32 Index) { return GetParticles().P(Index + Offset); }
32 const FSolverVec3& GetP(const int32 Index) const { return GetParticles().P(Index + Offset); }
33 void SetP(const int32 Index, const FSolverVec3& InP) { GetParticles().P(Index + Offset) = InP; }
34 const FPAndInvM& PAndInvM(const int32 Index) const { return GetParticles().PAndInvM(Index + Offset); }
38 const FSolverVec3& VPrev(const int32 Index) const { return GetParticles().VPrev(Index + Offset); }
42
43 // DynamicParticles data
44 const FSolverVec3& V(const int32 Index) const { return GetParticles().V(Index + Offset); }
45 FSolverVec3& V(const int32 Index) { return GetParticles().V(Index + Offset); }
52 FSolverReal M(const int32 Index) const { return GetParticles().M(Index + Offset); }
53 FSolverReal& M(const int32 Index) { return GetParticles().M(Index + Offset); }
56 FSolverReal InvM(const int32 Index) const { return GetParticles().InvM(Index + Offset); }
60
61 // Particles data
62 const FSolverVec3& X(const int32 Index) const { return GetParticles().GetX(Index + Offset); }
68 const FSolverVec3& GetX(const int32 Index) const { return GetParticles().GetX(Index + Offset); }
69 void SetX(const int32 Index, const FSolverVec3& InX) { GetParticles().SetX(Index + Offset, InX); }
70
73};
74}
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
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition SoftsSolverParticlesRange.h:12
const FSolverVec3 & P(const int32 Index) const
Definition SoftsSolverParticlesRange.h:30
FPAndInvM & PAndInvM(const int32 Index)
Definition SoftsSolverParticlesRange.h:35
TConstArrayView< FSolverVec3 > GetVPrev() const
Definition SoftsSolverParticlesRange.h:40
const FSolverVec3 & V(const int32 Index) const
Definition SoftsSolverParticlesRange.h:44
FSolverVec3 & V(const int32 Index)
Definition SoftsSolverParticlesRange.h:45
const FSolverVec3 & GetP(const int32 Index) const
Definition SoftsSolverParticlesRange.h:32
FSolverVec3 & Acceleration(const int32 Index)
Definition SoftsSolverParticlesRange.h:49
void SetP(const int32 Index, const FSolverVec3 &InP)
Definition SoftsSolverParticlesRange.h:33
FSolverParticlesRange & operator=(FSolverParticlesRange &&)=default
const FSolverVec3 & X(const int32 Index) const
Definition SoftsSolverParticlesRange.h:62
TConstArrayView< FSolverVec3 > GetAcceleration() const
Definition SoftsSolverParticlesRange.h:50
FSolverVec3 & VPrev(const int32 Index)
Definition SoftsSolverParticlesRange.h:39
FSolverReal & M(const int32 Index)
Definition SoftsSolverParticlesRange.h:53
TConstArrayView< FPAndInvM > GetPAndInvM() const
Definition SoftsSolverParticlesRange.h:36
FSolverParticlesRange(const FSolverParticlesRange &)=default
FSolverReal M(const int32 Index) const
Definition SoftsSolverParticlesRange.h:52
FSolverParticlesRange & operator=(const FSolverParticlesRange &)=default
TArrayView< FSolverReal > GetM()
Definition SoftsSolverParticlesRange.h:55
FSolverVec3 & P(const int32 Index)
Definition SoftsSolverParticlesRange.h:31
const FSolverVec3 & VPrev(const int32 Index) const
Definition SoftsSolverParticlesRange.h:38
FSolverParticlesRange(FSolverParticlesRange &&)=default
TArrayView< FSolverVec3 > GetV()
Definition SoftsSolverParticlesRange.h:47
void SetX(const int32 Index, const FSolverVec3 &InX)
Definition SoftsSolverParticlesRange.h:69
TConstArrayView< FSolverReal > GetM() const
Definition SoftsSolverParticlesRange.h:54
const FPAndInvM & PAndInvM(const int32 Index) const
Definition SoftsSolverParticlesRange.h:34
TConstArrayView< FSolverVec3 > GetV() const
Definition SoftsSolverParticlesRange.h:46
const FSolverVec3 & GetX(const int32 Index) const
Definition SoftsSolverParticlesRange.h:68
const FSolverVec3 & Acceleration(const int32 Index) const
Definition SoftsSolverParticlesRange.h:48
FSolverParticlesRange(TParticlesRange< FSolverParticles > &&Other)
Definition SoftsSolverParticlesRange.h:25
TArrayView< FSolverVec3 > GetAcceleration()
Definition SoftsSolverParticlesRange.h:51
FSolverParticlesRange(FSolverParticles *InParticles, const int32 InOffset, const int32 InRange)
Definition SoftsSolverParticlesRange.h:21
TArrayView< FSolverVec3 > GetVPrev()
Definition SoftsSolverParticlesRange.h:41
FSolverReal InvM(const int32 Index) const
Definition SoftsSolverParticlesRange.h:56
TArrayView< FSolverVec3 > XArray()
Definition SoftsSolverParticlesRange.h:72
TConstArrayView< FSolverVec3 > XArray() const
Definition SoftsSolverParticlesRange.h:71
FSolverReal & InvM(const int32 Index)
Definition SoftsSolverParticlesRange.h:57
TConstArrayView< FSolverReal > GetInvM() const
Definition SoftsSolverParticlesRange.h:58
FSolverVec3 & X(const int32 Index)
Definition SoftsSolverParticlesRange.h:63
TArrayView< FPAndInvM > GetPAndInvM()
Definition SoftsSolverParticlesRange.h:37
TArrayView< FSolverReal > GetInvM()
Definition SoftsSolverParticlesRange.h:59
Definition PBDSoftsSolverParticles.h:20
const FPAndInvM & PAndInvM(const int32 index) const
Definition PBDSoftsSolverParticles.h:56
const FSolverVec3 & X(const int32 index) const
Definition PBDSoftsSolverParticles.h:38
const FSolverVec3 & P(const int32 index) const
Definition PBDSoftsSolverParticles.h:36
const FSolverVec3 & VPrev(const int32 Index) const
Definition PBDSoftsSolverParticles.h:53
Definition ParticlesRange.h:46
const FSolverParticles & GetParticles() const
Definition ParticlesRange.h:86
TArrayView< T > GetArrayView(TArray< T > &Array) const
Definition ParticlesRange.h:80
int32 Offset
Definition ParticlesRange.h:100
TConstArrayView< T > GetConstArrayView(const TArray< T > &Array) const
Definition ParticlesRange.h:73
const T M(const int32 Index) const
Definition DynamicParticles.h:43
const TVector< T, d > & Acceleration(const int32 Index) const
Definition DynamicParticles.h:38
const T InvM(const int32 Index) const
Definition DynamicParticles.h:48
const TVector< T, d > & V(const int32 Index) const
Definition DynamicParticles.h:31
const TVector< T, d > & GetX(const int32 Index) const
Definition Particles.h:156
void SetX(const int32 Index, const TVector< T, d > &InX)
Definition Particles.h:161
Definition ArrayView.h:139
Definition CollectionEmbeddedSpringConstraintFacade.cpp:6
FRealSingle FSolverReal
Definition PBDSoftsEvolutionFwd.h:31
U16 Index
Definition radfft.cpp:71
Definition PBDSoftsSolverParticles.h:14