|
| static ENGINE_API float | CalculateVolume (const TArray< FVector > &InVertices, const TArray< FIntVector > &InTriangles) |
| |
| static ENGINE_API float | CalculateVolume (const TArray< FAnimPhysShape > &InShapes) |
| |
| static ENGINE_API FVector | CalculateCenterOfMass (const TArray< FVector > &InVertices, const TArray< FIntVector > &InTriangles) |
| |
| static ENGINE_API FVector | CalculateCenterOfMass (const TArray< FAnimPhysShape > &InShapes) |
| |
| static ENGINE_API FMatrix | CalculateInertia (const TArray< FVector > &InVertices, const TArray< FIntVector > &InTriangles, const FVector &InCenterOfMass) |
| |
| static ENGINE_API FMatrix | CalculateInertia (const TArray< FAnimPhysShape > &InShapes, const FVector &InCenterOfMass) |
| |
| static ENGINE_API void | ScaleRigidBodyMass (FAnimPhysRigidBody *InOutRigidBody, float Scale) |
| |
| static ENGINE_API void | ApplyImpulse (FAnimPhysRigidBody *InOutRigidBody, const FVector &InWorldOrientedImpactPoint, const FVector &InImpulse) |
| |
| static ENGINE_API void | PhysicsUpdate (float DeltaTime, TArray< FAnimPhysRigidBody * > &Bodies, TArray< FAnimPhysLinearLimit > &LinearLimits, TArray< FAnimPhysAngularLimit > &AngularLimits, TArray< FAnimPhysSpring > &Springs, const FVector &GravityDirection, const FVector &ExternalForce, const FVector &ExternalLinearAcc, const FVector &ExternalAngularAcc, const FVector &ExternalAngularVelocity, int32 NumPreIterations=8, int32 NumPostIterations=2) |
| |
| static ENGINE_API void | ConstrainAlongDirection (float DeltaTime, TArray< FAnimPhysLinearLimit > &LimitContainer, FAnimPhysRigidBody *FirstBody, const FVector &FirstPosition, FAnimPhysRigidBody *SecondBody, const FVector &SecondPosition, const FVector &AxisToConstrain, const FVector2D Limits, float MinimumForce=-MAX_flt, float MaximumForce=MAX_flt) |
| |
| static ENGINE_API void | ConstrainPositionNailed (float DeltaTime, TArray< FAnimPhysLinearLimit > &LimitContainer, FAnimPhysRigidBody *FirstBody, const FVector &FirstPosition, FAnimPhysRigidBody *SecondBody, const FVector &SecondPosition) |
| |
| static ENGINE_API void | ConstrainPositionPrismatic (float DeltaTime, TArray< FAnimPhysLinearLimit > &LimitContainer, FAnimPhysRigidBody *FirstBody, const FVector &FirstPosition, FAnimPhysRigidBody *SecondBody, const FVector &SecondPosition, const FQuat &PrismRotation, const FVector &LimitsMin, const FVector &LimitsMax) |
| |
| static ENGINE_API void | ConstrainAngularRange (float DeltaTime, TArray< FAnimPhysAngularLimit > &LimitContainer, FAnimPhysRigidBody *FirstBody, FAnimPhysRigidBody *SecondBody, const FQuat &JointFrame, AnimPhysTwistAxis TwistAxis, const FVector &JointLimitMin, const FVector &JointLimitMax, float InJointBias) |
| |
| static ENGINE_API void | ConstrainConeAngle (float DeltaTime, TArray< FAnimPhysAngularLimit > &LimitContainer, FAnimPhysRigidBody *FirstBody, const FVector &Normal0, FAnimPhysRigidBody *SecondBody, const FVector &Normal1, float LimitAngle, float InJointBias) |
| |
| static ENGINE_API void | ConstrainPlanar (float DeltaTime, TArray< FAnimPhysLinearLimit > &LimitContainer, FAnimPhysRigidBody *Body, const FTransform &PlaneTransform) |
| |
| static ENGINE_API void | ConstrainSphericalInner (float DeltaTime, TArray< FAnimPhysLinearLimit > &LimitContainer, FAnimPhysRigidBody *Body, const FTransform &SphereTransform, float SphereRadius) |
| |
| static ENGINE_API void | ConstrainSphericalOuter (float DeltaTime, TArray< FAnimPhysLinearLimit > &LimitContainer, FAnimPhysRigidBody *Body, const FTransform &SphereTransform, float SphereRadius) |
| |
| static ENGINE_API void | CreateSpring (TArray< FAnimPhysSpring > &SpringContainer, FAnimPhysRigidBody *Body0, FVector Position0, FAnimPhysRigidBody *Body1, FVector Position1) |
| |
Lightweight rigid body motion solver (no collision) used for cosmetic secondary motion in an animation graph without invoking something heavier like using PhysX to simulate constraints which could be cost prohibitive