33 #ifndef DART_CONSTRAINT_PGSBOXEDLCPSOLVER_HPP_
34 #define DART_CONSTRAINT_PGSBOXEDLCPSOLVER_HPP_
40 namespace constraint {
55 int maxIteration = 30,
56 double deltaXTolerance = 1e-6,
57 double relativeDeltaXTolerance = 1e-3,
58 double epsilonForDivision = 1e-9,
59 bool randomizeConstraintOrder =
false);
63 const std::string&
getType()
const override;
78 bool earlyTermination)
override;
82 bool canSolve(
int n,
const double* A)
override;
const CollisionOption & option
Collision option of DART.
Definition: FCLCollisionDetector.cpp:157
Definition: BoxedLcpSolver.hpp:43
Implementation of projected Gauss-Seidel (PGS) LCP solver.
Definition: PgsBoxedLcpSolver.hpp:44
Option mOption
Definition: PgsBoxedLcpSolver.hpp:92
const Option & getOption() const
Returns options.
Definition: PgsBoxedLcpSolver.cpp:277
const std::string & getType() const override
Returns the type.
Definition: PgsBoxedLcpSolver.cpp:64
Eigen::VectorXd mCacheZ
Definition: PgsBoxedLcpSolver.hpp:98
static const std::string & getStaticType()
Returns type for this class.
Definition: PgsBoxedLcpSolver.cpp:70
bool canSolve(int n, const double *A) override
Definition: PgsBoxedLcpSolver.cpp:249
std::vector< int > mCacheOrder
Definition: PgsBoxedLcpSolver.hpp:94
Eigen::VectorXd mCacheOldX
Definition: PgsBoxedLcpSolver.hpp:99
bool solve(int n, double *A, double *x, double *b, int nub, double *lo, double *hi, int *findex, bool earlyTermination) override
Solves constriant impulses for a constrained group.
Definition: PgsBoxedLcpSolver.cpp:77
void setOption(const Option &option)
Sets options.
Definition: PgsBoxedLcpSolver.cpp:271
Eigen::VectorXd mCachedNormalizedA
Definition: PgsBoxedLcpSolver.hpp:96
Eigen::MatrixXd mCachedNormalizedB
Definition: PgsBoxedLcpSolver.hpp:97
std::vector< double > mCacheD
Definition: PgsBoxedLcpSolver.hpp:95
Definition: BulletCollisionDetector.cpp:65
Definition: PgsBoxedLcpSolver.hpp:47
double mDeltaXThreshold
Definition: PgsBoxedLcpSolver.hpp:49
double mEpsilonForDivision
Definition: PgsBoxedLcpSolver.hpp:51
int mMaxIteration
Definition: PgsBoxedLcpSolver.hpp:48
double mRelativeDeltaXTolerance
Definition: PgsBoxedLcpSolver.hpp:50
bool mRandomizeConstraintOrder
Definition: PgsBoxedLcpSolver.hpp:52
Option(int maxIteration=30, double deltaXTolerance=1e-6, double relativeDeltaXTolerance=1e-3, double epsilonForDivision=1e-9, bool randomizeConstraintOrder=false)
Definition: PgsBoxedLcpSolver.cpp:48