Refactor ConstraintSolver: decouple LCP solver from ConstraintSolver #1099
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR refactors the current constraint solver,
ConstraintSolver
, without changing the functionalities. Currently,ConstraintSolver
is strongly tied with the (boxed) LCP solver, which leads to that it's not extensible to other non-LCP based methods.Summary of Changes
ConstraintSolver
BoxedLcpSolver
, the interface class only for solving boxed LCP problemsDantzig/PgsBoxedLcpSolver
, implementations ofBoxedLcpSolver
BoxedLcpConstraintSolver
, an implementation ofConstraintSolver
that requires a LCP solver. This class is the mostly close class to the previousConstraintSolver
DantzigConstraintSolver
andPgsConstraintSolver
in favor ofBoxedLcpConstraintSolver
+Dantzig/PgsBoxedLcpSolver
As a note, this is prework for implementation of sequential impulse method of Bullet and hopefully more constraint solvers.
Before creating a pull request
clang-format
Before merging a pull request
CHANGELOG.md