Navigation
API > API/Runtime > API/Runtime/Chaos
Constraint a single particle to a world-space position.
| Name | FPBDPositionConstraints |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/PBDPositionConstraints.h |
| Include Path | #include "Chaos/PBDPositionConstraints.h" |
Syntax
class FPBDPositionConstraints : public Chaos::TPBDIndexedConstraintContainer< FPBDPositionConstraints >
Inheritance Hierarchy
- FPBDConstraintContainer → FPBDIndexedConstraintContainer → TPBDIndexedConstraintContainer → FPBDPositionConstraints
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FPBDPositionConstraints
(
TArray< FVec3 >&& Locations, |
Chaos/PBDPositionConstraints.h | ||
FPBDPositionConstraints
(
const FReal InStiffness |
Chaos/PBDPositionConstraints.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FPBDPositionConstraints() |
Chaos/PBDPositionConstraints.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Base | TPBDIndexedConstraintContainer< FPBDPositionConstraints > | Chaos/PBDPositionConstraints.h | |
| FConstraintContainerHandle | FPBDPositionConstraintHandle | Chaos/PBDPositionConstraints.h | |
| FConstraintHandleAllocator | TConstraintHandleAllocator< FPBDPositionConstraints > | Chaos/PBDPositionConstraints.h | |
| FHandles | TArray< FConstraintContainerHandle * > | Chaos/PBDPositionConstraints.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ConstrainedParticles | TArray< FPBDRigidParticleHandle * > | Chaos/PBDPositionConstraints.h | ||
| ConstraintSolverBodies | TArray< FSolverBody * > | Chaos/PBDPositionConstraints.h | ||
| HandleAllocator | FConstraintHandleAllocator | Chaos/PBDPositionConstraints.h | ||
| Handles | FHandles | Chaos/PBDPositionConstraints.h | ||
| Stiffness | FReal | Chaos/PBDPositionConstraints.h | ||
| Targets | TArray< FVec3 > | Chaos/PBDPositionConstraints.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddBodies
(
const TArrayView< int32 >& ConstraintIndices, |
TIndexedConstraintContainerSolver API - used by World solvers | Chaos/PBDPositionConstraints.h | |
void AddBodies
(
FSolverBodyContainer& SolverBodyContainer |
TSimpleConstraintContainerSolver API - used by RBAN solvers | Chaos/PBDPositionConstraints.h | |
FConstraintContainerHandle * AddConstraint
(
FPBDRigidParticleHandle* Particle, |
Add a constraint. | Chaos/PBDPositionConstraints.h | |
void ApplyPositionConstraints
(
const TArrayView< int32 >& ConstraintIndices, |
Chaos/PBDPositionConstraints.h | ||
void ApplyPositionConstraints
(
const FReal Dt, |
Chaos/PBDPositionConstraints.h | ||
void ApplyProjectionConstraints
(
const TArrayView< int32 >& ConstraintIndices, |
Chaos/PBDPositionConstraints.h | ||
void ApplyProjectionConstraints
(
const FReal Dt, |
Chaos/PBDPositionConstraints.h | ||
void ApplyVelocityConstraints
(
const TArrayView< int32 >& ConstraintIndices, |
Chaos/PBDPositionConstraints.h | ||
void ApplyVelocityConstraints
(
const FReal Dt, |
Chaos/PBDPositionConstraints.h | ||
void DisableConstraints
(
const TSet< FGeometryParticleHandle* >& RemovedParticles |
Disabled the specified constraint. | Chaos/PBDPositionConstraints.h | |
void GatherInput
(
const TArrayView< int32 >& ConstraintIndices, |
Chaos/PBDPositionConstraints.h | ||
void GatherInput
(
const FReal Dt |
Chaos/PBDPositionConstraints.h | ||
const FHandles & GetConstConstraintHandles() |
Chaos/PBDPositionConstraints.h | ||
TVec2< FGeometryParticleHandle * > GetConstrainedParticles
(
int32 ConstraintIndex |
Get the particles that are affected by the specified constraint. | Chaos/PBDPositionConstraints.h | |
FConstraintContainerHandle * GetConstraintHandle
(
int32 ConstraintIndex |
Chaos/PBDPositionConstraints.h | ||
const FConstraintContainerHandle * GetConstraintHandle
(
int32 ConstraintIndex |
Chaos/PBDPositionConstraints.h | ||
FHandles & GetConstraintHandles() |
Constraint API | Chaos/PBDPositionConstraints.h | |
const FVec3 & GetConstraintPosition
(
int ConstraintIndex |
Get the world-space constraint positions for each body. | Chaos/PBDPositionConstraints.h | |
int32 NumConstraints() |
Constraint Container API Get the number of constraints. | Chaos/PBDPositionConstraints.h | |
void RemoveConstraint
(
int ConstraintIndex |
Remove a constraint. | Chaos/PBDPositionConstraints.h | |
void Replace
(
const int32 ConstraintIndex, |
Chaos/PBDPositionConstraints.h | ||
void ScatterOutput
(
const TArrayView< int32 >& ConstraintIndices, |
Chaos/PBDPositionConstraints.h | ||
void ScatterOutput
(
const FReal Dt |
Chaos/PBDPositionConstraints.h |
Overridden from FPBDConstraintContainer
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AddConstraintsToGraph
(
Private::FPBDIslandManager& IslandManager |
Add all the constraints in the container to the graph | Chaos/PBDPositionConstraints.h | |
virtual int32 GetNumConstraints() |
FConstraintContainer Implementation | Chaos/PBDPositionConstraints.h | |
virtual void PrepareTick() |
Called oncer per tick to initialize buffers required for the rest of the tick | Chaos/PBDPositionConstraints.h | |
virtual void ResetConstraints() |
Empty the constraints (must be removed from the graph first, if required) | Chaos/PBDPositionConstraints.h | |
virtual void UnprepareTick() |
Should undo any allocations in PrepareTick | Chaos/PBDPositionConstraints.h | |
virtual void UpdatePositionBasedState
(
const FReal Dt |
An opportunity to create/destroy constraints based on particle state. | Chaos/PBDPositionConstraints.h |