|
| | TPBDJointContainerSolver (FPBDJointConstraints &InConstraintContainer, const int32 InPriority) |
| |
| | ~TPBDJointContainerSolver () |
| |
| virtual int32 | GetNumConstraints () const override final |
| |
| virtual void | Reset (const int32 InMaxCollisions) override final |
| |
| virtual void | AddConstraints () override final |
| |
| virtual void | AddConstraints (const TArrayView< Private::FPBDIslandConstraint * > &IslandConstraints) override final |
| |
| virtual void | AddBodies (FSolverBodyContainer &SolverBodyContainer) override final |
| |
| virtual void | GatherInput (const FReal Dt) override final |
| |
| virtual void | GatherInput (const FReal Dt, const int32 BeginIndex, const int32 EndIndex) override final |
| |
| virtual void | ScatterOutput (const FReal Dt) override final |
| |
| virtual void | ScatterOutput (const FReal Dt, const int32 BeginIndex, const int32 EndIndex) override final |
| |
| virtual void | ApplyPositionConstraints (const FReal Dt, const int32 It, const int32 NumIts) override final |
| |
| virtual void | ApplyVelocityConstraints (const FReal Dt, const int32 It, const int32 NumIts) override final |
| |
| virtual void | ApplyProjectionConstraints (const FReal Dt, const int32 It, const int32 NumIts) override final |
| |
| FPBDJointConstraints & | GetContainer () const |
| |
| const FPBDJointSolverSettings & | GetSettings () const |
| |
| const FPBDJointSettings & | GetConstraintSettings (const int32 InConstraintIndex) const |
| |
| int32 | GetContainerConstraintIndex (const int32 InConstraintIndex) const |
| |
| | FConstraintContainerSolver (const int32 InPriority) |
| |
| virtual | ~FConstraintContainerSolver () |
| |
| void | SetPriority (const int32 InPriority) |
| |
| int32 | GetPriority () const |
| |
| virtual void | PreApplyPositionConstraints (const FReal Dt) |
| |
| virtual void | PreApplyVelocityConstraints (const FReal Dt) |
| |
| virtual void | PreApplyProjectionConstraints (const FReal Dt) |
| |
Runs the solvers for a set of constraints belonging to a JointConstraints container.
For the main scene, each IslandGroup owns two TPBDJointContainerSolvers (one for linear and one for nonlinear) and the list of constraints to be solved and the order in which they are solved is determined by the constraint graph. The two TPBDJointContainerSolvers are grouped under struct FPBDJointCombinedConstraints.
For RBAN, there is one FPBDJointCombinedConstraints with two TPBDJointContainerSolvers (linear & nonlinear) that solves all joints in the simulation in the order that they occur in the container.