33 #ifndef DART_CONSTRAINT_BOXEDLCPCONSTRAINTSOLVER_HPP_
34 #define DART_CONSTRAINT_BOXEDLCPCONSTRAINTSOLVER_HPP_
40 namespace constraint {
115 Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
mA;
118 Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
164 std::size_t n,
double* A, std::size_t begin, std::size_t end);
#define DART_DEPRECATED(version)
Definition: Deprecated.hpp:51
Definition: BoxedLcpConstraintSolver.hpp:43
BoxedLcpSolverPtr mSecondaryBoxedLcpSolver
Boxed LCP solver to be used when the primary solver failed.
Definition: BoxedLcpConstraintSolver.hpp:110
ConstBoxedLcpSolverPtr getSecondaryBoxedLcpSolver() const
Returns boxed LCP (BLCP) solver that is used when the primary solver failed.
Definition: BoxedLcpConstraintSolver.cpp:141
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > mA
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:115
Eigen::VectorXd mLo
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:137
bool isSymmetric(std::size_t n, double *A)
Return true if the matrix is symmetric.
Definition: BoxedLcpConstraintSolver.cpp:315
Eigen::VectorXi mFIndexBackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:152
Eigen::VectorXd mHiBackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:146
Eigen::VectorXi mOffset
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:155
ConstBoxedLcpSolverPtr getBoxedLcpSolver() const
Returns boxed LCP (BLCP) solver.
Definition: BoxedLcpConstraintSolver.cpp:120
Eigen::VectorXd mBBackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:131
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > mABackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:119
Eigen::VectorXd mX
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:122
BoxedLcpSolverPtr mBoxedLcpSolver
Boxed LCP solver.
Definition: BoxedLcpConstraintSolver.hpp:105
Eigen::VectorXd mW
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:134
BoxedLcpConstraintSolver()
Constructos with default primary and secondary LCP solvers, which are Dantzig and PGS,...
Definition: BoxedLcpConstraintSolver.cpp:64
void print(std::size_t n, double *A, double *x, double *lo, double *hi, double *b, double *w, int *findex)
Print debug information.
Definition: BoxedLcpConstraintSolver.cpp:380
void setSecondaryBoxedLcpSolver(BoxedLcpSolverPtr lcpSolver)
Sets boxed LCP (BLCP) solver that is used when the primary solver failed.
Definition: BoxedLcpConstraintSolver.cpp:126
void setBoxedLcpSolver(BoxedLcpSolverPtr lcpSolver)
Sets boxed LCP (BLCP) solver.
Definition: BoxedLcpConstraintSolver.cpp:100
Eigen::VectorXd mB
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:128
Eigen::VectorXd mHi
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:143
Eigen::VectorXi mFIndex
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:149
void solveConstrainedGroup(ConstrainedGroup &group) override
Definition: BoxedLcpConstraintSolver.cpp:148
Eigen::VectorXd mXBackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:125
Eigen::VectorXd mLoBackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:140
ConstrainedGroup is a group of skeletons that interact each other with constraints.
Definition: ConstrainedGroup.hpp:58
ConstraintSolver manages constraints and computes constraint impulses.
Definition: ConstraintSolver.hpp:57
std::shared_ptr< const BoxedLcpSolver > ConstBoxedLcpSolverPtr
Definition: SmartPointer.hpp:55
std::shared_ptr< BoxedLcpSolver > BoxedLcpSolverPtr
Definition: SmartPointer.hpp:55
Definition: BulletCollisionDetector.cpp:65