|
iMSTK
Interactive Medical Simulation Toolkit
|
Position Based Dynamics solver This solver can solve both partitioned constraints (unordered_set of vector'd constraints) in parallel and sequentially on vector'd constraints. It requires a set of constraints, positions, and invMasses. More...
#include <imstkPbdSolver.h>


Public Member Functions | |
| void | setIterations (const size_t iterations) |
| Set Iterations. The number of nonlinear iterations. | |
| void | setConstraints (std::shared_ptr< PbdConstraintContainer > constraints) |
| Sets the constraints the solver should solve for These wil be solved sequentially. | |
| void | addConstraints (std::vector< PbdConstraint *> *constraints) |
| Add a constraint list to this solver to be solved, for quick addition/removal particularly collision. | |
| void | setPbdBodies (PbdState *state) |
| Sets the bodies to solve with. | |
| void | setTimeStep (const double dt) |
| Set time step. | |
| size_t | getIterations () const |
| Get Iterations. Returns current nonlinear iterations. | |
| void | setSolverType (const PbdConstraint::SolverType &type) |
| Set the PBD solver type. | |
| void | solve () override |
| Solve the non linear system of equations G(x)=0 using Newton's method. | |
| const std::list< std::vector< PbdConstraint * > * > & | getConstraintLists () const |
| Get all the collision constraints, read only. | |
| void | clearConstraintLists () |
| Clear all collision constraints. | |
Additional Inherited Members | |
Public Attributes inherited from imstk::SolverBase | |
| std::shared_ptr< DataTracker > | m_dataTracker |
Position Based Dynamics solver This solver can solve both partitioned constraints (unordered_set of vector'd constraints) in parallel and sequentially on vector'd constraints. It requires a set of constraints, positions, and invMasses.
Definition at line 23 of file imstkPbdSolver.h.
1.8.13