33 #ifndef DART_CONSTRAINT_BOXEDLCPCONSTRAINTSOLVER_HPP_ 34 #define DART_CONSTRAINT_BOXEDLCPCONSTRAINTSOLVER_HPP_ 36 #include "dart/dynamics/ConstraintSolver.hpp" 37 #include "dart/dynamics/SmartPointer.hpp" 61 BoxedLcpSolverPtr boxedLcpSolver =
nullptr,
62 BoxedLcpSolverPtr secondaryBoxedLcpSolver =
nullptr);
81 BoxedLcpSolverPtr boxedLcpSolver,
82 BoxedLcpSolverPtr secondaryBoxedLcpSolver);
115 Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
mA;
118 Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
160 bool isSymmetric(std::size_t n,
double* A);
164 std::size_t n,
double* A, std::size_t begin, std::size_t end);
182 #endif // DART_CONSTRAINT_BOXEDLCPCONSTRAINTSOLVER_HPP_ ConstrainedGroup is a group of skeletons that interact each other with constraints.
Definition: ConstrainedGroup.hpp:57
Eigen::VectorXd mXBackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:125
Eigen::VectorXd mX
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:122
Eigen::VectorXd mLo
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:137
void setSecondaryBoxedLcpSolver(BoxedLcpSolverPtr lcpSolver)
Sets boxed LCP (BLCP) solver that is used when the primary solver failed.
Definition: BoxedLcpConstraintSolver.cpp:126
ConstraintSolver manages constraints and computes constraint impulses.
Definition: ConstraintSolver.hpp:56
BoxedLcpConstraintSolver()
Constructos with default primary and secondary LCP solvers, which are Dantzig and PGS...
Definition: BoxedLcpConstraintSolver.cpp:64
Definition: Aspect.cpp:40
ConstBoxedLcpSolverPtr getSecondaryBoxedLcpSolver() const
Returns boxed LCP (BLCP) solver that is used when the primary solver failed.
Definition: BoxedLcpConstraintSolver.cpp:141
void setBoxedLcpSolver(BoxedLcpSolverPtr lcpSolver)
Sets boxed LCP (BLCP) solver.
Definition: BoxedLcpConstraintSolver.cpp:100
Eigen::VectorXi mFIndex
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:149
ConstBoxedLcpSolverPtr getBoxedLcpSolver() const
Returns boxed LCP (BLCP) solver.
Definition: BoxedLcpConstraintSolver.cpp:120
BoxedLcpSolverPtr mSecondaryBoxedLcpSolver
Boxed LCP solver to be used when the primary solver failed.
Definition: BoxedLcpConstraintSolver.hpp:110
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > mABackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:119
Eigen::VectorXd mHi
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:143
Eigen::VectorXi mOffset
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:155
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > mA
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:115
Definition: BoxedLcpConstraintSolver.hpp:42
Eigen::VectorXd mW
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:134
Eigen::VectorXi mFIndexBackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:152
Eigen::VectorXd mB
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:128
Eigen::VectorXd mBBackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:131
Eigen::VectorXd mHiBackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:146
BoxedLcpSolverPtr mBoxedLcpSolver
Boxed LCP solver.
Definition: BoxedLcpConstraintSolver.hpp:105
Eigen::VectorXd mLoBackup
Cache data for boxed LCP formulation.
Definition: BoxedLcpConstraintSolver.hpp:140