|
| CHAOS_API | FPBDRigidsEvolutionGBF (FPBDRigidsSOAs &InParticles, THandleArray< FChaosPhysicsMaterial > &SolverPhysicsMaterials, const TArray< ISimCallbackObject * > *InMidPhaseModifiers=nullptr, const TArray< ISimCallbackObject * > *InCCDModifiers=nullptr, const TArray< ISimCallbackObject * > *InStrainModifiers=nullptr, const TArray< ISimCallbackObject * > *InCollisionModifiers=nullptr, bool InIsSingleThreaded=false) |
| |
| CHAOS_API | ~FPBDRigidsEvolutionGBF () |
| |
| virtual void | SetName (const FString &InName) |
| |
| void | SetPreIntegrateCallback (const FPBDRigidsEvolutionCallback &Cb) |
| |
| void | SetPostIntegrateCallback (const FPBDRigidsEvolutionCallback &Cb) |
| |
| void | SetPreSolveCallback (const FPBDRigidsEvolutionCallback &Cb) |
| |
| void | SetPostSolveCallback (const FPBDRigidsEvolutionCallback &Cb) |
| |
| void | SetPostDetectCollisionsCallback (const FPBDRigidsEvolutionCallback &Cb) |
| |
| void | SetPreApplyCallback (const FPBDRigidsEvolutionCallback &Cb) |
| |
| FORCEINLINE void | SetInternalParticleInitilizationFunction (const FPBDRigidsEvolutionInternalHandleCallback &Cb) |
| |
| FORCEINLINE void | DoInternalParticleInitilization (const FGeometryParticleHandle *OldParticle, FGeometryParticleHandle *NewParticle) |
| |
| void | SetIsDeterministic (const bool bInIsDeterministic) |
| |
| void | SetShockPropagationIterations (const int32 InPositionIts, const int32 InVelocityIts) |
| |
| CHAOS_API void | Advance (const FReal Dt, const FReal MaxStepDt, const int32 MaxSteps) |
| |
| CHAOS_API void | AdvanceOneTimeStep (const FReal dt, const FSubStepInfo &SubStepInfo=FSubStepInfo()) |
| |
| FORCEINLINE FCollisionConstraints & | GetCollisionConstraints () |
| |
| FORCEINLINE const FCollisionConstraints & | GetCollisionConstraints () const |
| |
| FORCEINLINE FCollisionDetector & | GetCollisionDetector () |
| |
| FORCEINLINE const FCollisionDetector & | GetCollisionDetector () const |
| |
| FORCEINLINE FGravityForces & | GetGravityForces () |
| |
| FORCEINLINE const FGravityForces & | GetGravityForces () const |
| |
| FORCEINLINE const FRigidClustering & | GetRigidClustering () const |
| |
| FORCEINLINE FRigidClustering & | GetRigidClustering () |
| |
| FORCEINLINE FPBDJointConstraints & | GetJointConstraints () |
| |
| FORCEINLINE const FPBDJointConstraints & | GetJointConstraints () const |
| |
| FORCEINLINE FJointConstraints & | GetJointCombinedConstraints () |
| |
| FORCEINLINE const FJointConstraints & | GetJointCombinedConstraints () const |
| |
| FORCEINLINE FPBDSuspensionConstraints & | GetSuspensionConstraints () |
| |
| FORCEINLINE const FPBDSuspensionConstraints & | GetSuspensionConstraints () const |
| |
| FORCEINLINE FCharacterGroundConstraintContainer & | GetCharacterGroundConstraints () |
| |
| FORCEINLINE const FCharacterGroundConstraintContainer & | GetCharacterGroundConstraints () const |
| |
| CHAOS_API void | SetParticleTransform (FGeometryParticleHandle *InParticle, const FVec3 &InPos, const FRotation3 &InRot, const bool bIsTeleport, const bool bWakeUp=true) |
| |
| virtual CHAOS_API void | SetParticleTransformSwept (FGeometryParticleHandle *InParticle, const FVec3 &InPos, const FRotation3 &InRot, const bool bIsTeleport) |
| |
| CHAOS_API void | SetParticleKinematicTarget (FGeometryParticleHandle *ParticleHandle, const FKinematicTarget &NewKinematicTarget) |
| |
| CHAOS_API void | ApplyParticleTransformCorrectionDelta (FGeometryParticleHandle *InParticle, const FVec3 &InPosDelta, const FVec3 &InRotDelta, const bool bApplyToConnectedBodies, const bool bInRecalculateFrictionOnConnectedBodies=true, const TArray< FParticleID > &ExcludeConnections=TArray< FParticleID >()) |
| |
| CHAOS_API void | ApplyParticleTransformCorrection (FGeometryParticleHandle *InParticle, const FVec3 &InPos, const FRotation3 &InRot, const bool bApplyToConnectedBodies, const bool bInRecalculateFrictionOnConnectedBodies=true, const TArray< FParticleID > &ExcludeConnections=TArray< FParticleID >()) |
| |
| CHAOS_API void | ApplySleepOnConnectedParticles (FGeometryParticleHandle *InParticle) |
| |
| CHAOS_API void | OnParticleMoved (FGeometryParticleHandle *InParticle, const FVec3 &PrevX, const FRotation3 &PrevR, const bool bIsTeleport, const bool bWakeUp=true) |
| |
| CHAOS_API void | SetParticleVelocities (FGeometryParticleHandle *InParticle, const FVec3 &InV, const FVec3f &InW) |
| |
| CHAOS_API void | SetParticleDynamics (FPBDRigidParticleHandle *Rigid, const FParticleDynamics &Dynamics) |
| |
| CHAOS_API void | SetParticleMassProps (FPBDRigidParticleHandle *Rigid, const FParticleMassProps &MassProperties) |
| |
| void | ReloadParticlesCache () |
| |
| void | DestroyParticleCollisionsInAllocator (FGeometryParticleHandle *Particle) |
| |
| virtual void | DestroyTransientConstraints (FGeometryParticleHandle *Particle) override final |
| |
| virtual void | DestroyTransientConstraints () override final |
| |
| virtual void | ResetCollisions () override |
| |
| void | EndFrame (FReal Dt) |
| |
| void | ParticleMaterialChanged (FGeometryParticleHandle *Particle) |
| |
| CHAOS_API const FChaosPhysicsMaterial * | GetFirstClusteredPhysicsMaterial (const FGeometryParticleHandle *Particle) const |
| |
| CHAOS_API void | Integrate (FReal Dt) |
| |
| virtual CHAOS_API void | ApplyKinematicTargets (const FReal Dt, const FReal StepFraction) override final |
| |
| CHAOS_API void | Serialize (FChaosArchive &Ar) |
| |
| CHAOS_API TUniquePtr< IResimCacheBase > | CreateExternalResimCache () const |
| |
| CHAOS_API void | SetCurrentStepResimCache (IResimCacheBase *InCurrentStepResimCache) |
| |
| FSpatialAccelerationBroadPhase & | GetBroadPhase () |
| |
| CHAOS_API FPBDJointConstraintHandle * | CreateJointConstraint (const FParticlePair &InParticlePair, const FPBDJointSettings &InJointSettings) |
| |
| CHAOS_API void | DestroyJointConstraint (FPBDJointConstraintHandle *InJointHandle) |
| |
| CHAOS_API FPBDJointConstraintHandle * | SetJointConstraintSettings (FPBDJointConstraintHandle *InJointHandle, const FPBDJointSettings &InJointSettings) |
| |
| CHAOS_API void | TransferJointConstraintCollisions () |
| |
| template<bool bPersistent> |
| void | ResetVSmoothFromForces (TPBDRigidParticleHandleImp< FReal, 3, bPersistent > &Particle) |
| |
| template<typename TParticleView > |
| void | Integrate (const TParticleView &InParticles, FReal Dt) |
| |
| virtual UE_INTERNAL void | WaitIntegrationComplete () override |
| |
| CHAOS_API | FPBDRigidsEvolutionBase (FPBDRigidsSOAs &InParticles, THandleArray< FChaosPhysicsMaterial > &InSolverPhysicsMaterials, bool InIsSingleThreaded=false) |
| |
| virtual CHAOS_API | ~FPBDRigidsEvolutionBase () |
| |
| TArray< FGeometryParticleHandle * > | CreateStaticParticles (int32 NumParticles, const FUniqueIdx *ExistingIndices=nullptr, const FGeometryParticleParameters &Params=FGeometryParticleParameters()) |
| |
| TArray< FKinematicGeometryParticleHandle * > | CreateKinematicParticles (int32 NumParticles, const FUniqueIdx *ExistingIndices=nullptr, const FKinematicGeometryParticleParameters &Params=FKinematicGeometryParticleParameters()) |
| |
| TArray< FPBDRigidParticleHandle * > | CreateDynamicParticles (int32 NumParticles, const FUniqueIdx *ExistingIndices=nullptr, const FPBDRigidParticleParameters &Params=FPBDRigidParticleParameters()) |
| |
| TArray< TPBDRigidClusteredParticleHandle< FReal, 3 > * > | CreateClusteredParticles (int32 NumParticles, const FUniqueIdx *ExistingIndices=nullptr, const FPBDRigidParticleParameters &Params=FPBDRigidParticleParameters()) |
| |
| TArray< TPBDGeometryCollectionParticleHandle< FReal, 3 > * > | CreateGeometryCollectionParticles (int32 NumParticles, const FUniqueIdx *ExistingIndices=nullptr, const FPBDRigidParticleParameters &Params=FPBDRigidParticleParameters()) |
| |
| void | AddForceFunction (FForceRule ForceFunction) |
| |
| void | AddImpulseFunction (FForceRule ImpulseFunction) |
| |
| void | SetParticleUpdatePositionFunction (FUpdatePositionRule ParticleUpdate) |
| |
| void | SetCaptureRewindDataFunction (FCaptureRewindRule Rule) |
| |
| void | SetCaptureRewindKinematicTargetFunction (FCaptureRewindKinematicTargetRule Rule) |
| |
| TGeometryParticleHandles< FReal, 3 > & | GetParticleHandles () |
| |
| const TGeometryParticleHandles< FReal, 3 > & | GetParticleHandles () const |
| |
| FPBDRigidsSOAs & | GetParticles () |
| |
| const FPBDRigidsSOAs & | GetParticles () const |
| |
| void | AddConstraintContainer (FPBDConstraintContainer &InContainer, const int32 Priority=0) |
| |
| void | SetNumPositionIterations (int32 InNumIterations) |
| |
| int32 | GetNumPositionIterations () const |
| |
| void | SetNumVelocityIterations (int32 InNumIterations) |
| |
| int32 | GetNumVelocityIterations () const |
| |
| void | SetNumProjectionIterations (int32 InNumIterations) |
| |
| int32 | GetNumProjectionIterations () const |
| |
| void | RegisterParticle (FGeometryParticleHandle *Particle) |
| |
| void | EnableParticle (FGeometryParticleHandle *Particle) |
| |
| void | DisableParticle (FGeometryParticleHandle *Particle) |
| |
| void | InvalidateParticle (FGeometryParticleHandle *Particle) |
| |
| CHAOS_API void | FlushExternalAccelerationQueue (FAccelerationStructure &Acceleration, FPendingSpatialDataQueue &ExternalQueue) |
| |
| void | DisableParticles (TSet< FGeometryParticleHandle * > &ParticlesIn) |
| |
| template<bool bPersistent> |
| FORCEINLINE_DEBUGGABLE bool | IsADisableCluster (TGeometryParticleHandleImp< FReal, 3, bPersistent > &Particle) |
| |
| template<bool bPersistent> |
| FORCEINLINE_DEBUGGABLE void | DirtyParticle (TGeometryParticleHandleImp< FReal, 3, bPersistent > &Particle, const EPendingSpatialDataOperation Op=EPendingSpatialDataOperation::Update) |
| |
| template<bool bPersistent> |
| FORCEINLINE_DEBUGGABLE void | DirtyParticleAsync (TGeometryParticleHandleImp< FReal, 3, bPersistent > &Particle, const EPendingSpatialDataOperation Op=EPendingSpatialDataOperation::Update) |
| |
| void | DestroyParticle (FGeometryParticleHandle *Particle) |
| |
| void | ReserveParticles (const int32 Num) |
| |
| CHAOS_API void | SetParticleObjectState (FPBDRigidParticleHandle *Particle, EObjectStateType ObjectState) |
| |
| CHAOS_API void | WakeParticle (FPBDRigidParticleHandle *Particle) |
| |
| CHAOS_API void | SetParticleSleepType (FPBDRigidParticleHandle *Particle, ESleepType InSleepType) |
| |
| CHAOS_API void | DisableParticles (const TSet< FGeometryParticleHandle * > &InParticles) |
| |
| void | RemoveConstraintFromConstraintGraph (FConstraintHandle *ConstraintHandle) |
| |
| void | RemoveConstraintsFromConstraintGraph (const FConstraintHandleArray &Constraints) |
| |
| void | DisconnectConstraints (const TSet< FGeometryParticleHandle * > &RemovedParticles) |
| |
| void | DisableConstraints (FGeometryParticleHandle *ParticleHandle) |
| |
| void | EnableConstraints (FGeometryParticleHandle *ParticleHandle) |
| |
| void | ResetConstraints () |
| |
| const TParticleView< FPBDRigidClusteredParticles > & | GetNonDisabledClusteredView () const |
| |
| TSerializablePtr< FChaosPhysicsMaterial > | GetPhysicsMaterial (const FGeometryParticleHandle *Particle) const |
| |
| CHAOS_API const FChaosPhysicsMaterial * | GetFirstPhysicsMaterial (const FGeometryParticleHandle *Particle) const |
| |
| const TUniquePtr< FChaosPhysicsMaterial > & | GetPerParticlePhysicsMaterial (const FGeometryParticleHandle *Particle) const |
| |
| void | SetPerParticlePhysicsMaterial (FGeometryParticleHandle *Particle, TUniquePtr< FChaosPhysicsMaterial > &InMaterial) |
| |
| void | SetPhysicsMaterial (FGeometryParticleHandle *Particle, TSerializablePtr< FChaosPhysicsMaterial > InMaterial) |
| |
| void | PrepareTick () |
| |
| void | UnprepareTick () |
| |
| CHAOS_API void | UpdateExternalAccelerationStructure_External (ISpatialAccelerationCollection< FAccelerationStructureHandle, FReal, 3 > *&ExternalStructure, FPendingSpatialDataQueue &PendingExternal) |
| |
| ISpatialAccelerationCollection< FAccelerationStructureHandle, FReal, 3 > * | GetSpatialAcceleration () |
| |
| CHAOS_API void | FlushSpatialAcceleration () |
| |
| CHAOS_API void | RebuildSpatialAccelerationForPerfTest () |
| |
| CHAOS_API void | ComputeIntermediateSpatialAcceleration (bool bBlock=false) |
| |
| const Private::FPBDIslandManager & | GetConstraintGraph () const |
| |
| Private::FPBDIslandManager & | GetConstraintGraph () |
| |
| Private::FPBDIslandManager & | GetIslandManager () |
| |
| const Private::FPBDIslandManager & | GetIslandManager () const |
| |
| const Private::FPBDIslandGroupManager & | GetIslandGroupManager () const |
| |
| void | SetResim (bool bInResim) |
| |
| const bool | IsResimming () const |
| |
| void | SetReset (bool bInReset) |
| |
| const bool | IsResetting () const |
| |
| void | Serialize (FChaosArchive &Ar) |
| |
| FUniqueIdx | GenerateUniqueIdx () |
| |
| void | ReleaseUniqueIdx (FUniqueIdx UniqueIdx) |
| |
| bool | IsUniqueIndexPendingRelease (FUniqueIdx UniqueIdx) const |
| |
| void | KillSafeAsyncTasks () |
| |
| bool | AreAnyTasksPending () const |
| |
| void | SetCanStartAsyncTasks (bool bInCanStartAsyncTasks) |
| |
| void | SetRewindData (FRewindData *RewindData) |
| |
| FRewindData * | GetRewindData () |
| |
| CHAOS_API void | DisableParticleWithRemovalEvent (FGeometryParticleHandle *Particle) |
| |
| const TArray< FRemovalData > & | GetAllRemovals () |
| |
| void | ResetAllRemovals () |
| |
| const FString & | GetName () const |
| |
| template<bool bPersistent> |
| FORCEINLINE_DEBUGGABLE void | RemoveParticleFromAccelerationStructure (TGeometryParticleHandleImp< FReal, 3, bPersistent > &ParticleHandle) |
| |