UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CharacterGroundConstraintContainerSolver.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
7
8namespace Chaos
9{
10 namespace Private
11 {
13 {
14 public:
17
19 // FConstraintContainerSolver impl
20
21 virtual int32 GetNumConstraints() const override final { return SolvedConstraints.Num(); }
22
23 virtual void Reset(const int32 InMaxConstraints) override final;
24
26 virtual void AddConstraints() override final;
27
30
32 virtual void AddBodies(FSolverBodyContainer& SolverBodyContainer) override final;
33
35 virtual void GatherInput(const FReal Dt) override final;
36 virtual void GatherInput(const FReal Dt, const int32 BeginIndex, const int32 EndIndex) override final;
37
39 virtual void ScatterOutput(const FReal Dt) override final;
40 virtual void ScatterOutput(const FReal Dt, const int32 BeginIndex, const int32 EndIndex) override final;
41
43 virtual void ApplyPositionConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final;
44
47 virtual void ApplyVelocityConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final;
48
51 virtual void ApplyProjectionConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final;
52
53 private:
54 void AddConstraint(FCharacterGroundConstraintHandle* Constraint);
55
56 FCharacterGroundConstraintContainer& ConstraintContainer;
57
58 TArray<FCharacterGroundConstraintHandle*> SolvedConstraints;
59
60 // Array of single constraint solvers
62 };
63
64 } // namespace Private
65} // namespace Chaos
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
Container class for all character ground constraints on the physics thread.
Definition CharacterGroundConstraintContainer.h:228
Definition CharacterGroundConstraintContainer.h:35
Definition SolverConstraintContainer.h:29
Definition SolverBodyContainer.h:37
Definition CharacterGroundConstraintContainerSolver.h:13
virtual int32 GetNumConstraints() const override final
Definition CharacterGroundConstraintContainerSolver.h:21
virtual void AddBodies(FSolverBodyContainer &SolverBodyContainer) override final
Set the bodies on the constraint from the constraint data solver.
Definition CharacterGroundConstraintContainerSolver.cpp:68
virtual void ApplyProjectionConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final
Definition CharacterGroundConstraintContainerSolver.cpp:142
virtual void GatherInput(const FReal Dt) override final
Initialize the solver from the constraint data.
Definition CharacterGroundConstraintContainerSolver.cpp:91
virtual void ApplyPositionConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final
Apply a single position solve iteration for all constraints.
Definition CharacterGroundConstraintContainerSolver.cpp:130
virtual void ApplyVelocityConstraints(const FReal Dt, const int32 It, const int32 NumIts) override final
Definition CharacterGroundConstraintContainerSolver.cpp:138
virtual void ScatterOutput(const FReal Dt) override final
Get the solver output that will be stored per constraint - applied force and torque.
Definition CharacterGroundConstraintContainerSolver.cpp:113
~FCharacterGroundConstraintContainerSolver()
Definition CharacterGroundConstraintContainerSolver.cpp:16
virtual void AddConstraints() override final
Add all constraints from the constraint container in the order that they appear there.
Definition CharacterGroundConstraintContainerSolver.cpp:28
FCharacterGroundConstraintSolver class.
Definition CharacterGroundConstraintSolver.h:20
Definition IslandManager.h:151
Definition ArrayView.h:139
Definition Array.h:670
Definition SkeletalMeshComponent.h:307
FRealDouble FReal
Definition Real.h:22
Definition OverriddenPropertySet.cpp:45