DART
6.10.1
|
Classes | |
class | BalanceConstraint |
BalanceConstraint is a kinematic constraint function designed to be passed into a HierarchicalIK module. More... | |
class | BallJointConstraint |
BallJointConstraint represents ball joint constraint between a body and the world or between two bodies. More... | |
class | BoxedLcpConstraintSolver |
class | BoxedLcpSolver |
class | ConstrainedGroup |
ConstrainedGroup is a group of skeletons that interact each other with constraints. More... | |
struct | ConstraintInfo |
ConstraintInfo. More... | |
class | ConstraintBase |
Constraint is a base class of concrete constraints classes. More... | |
class | ConstraintSolver |
ConstraintSolver manages constraints and computes constraint impulses. More... | |
class | ContactConstraint |
ContactConstraint represents a contact constraint between two bodies. More... | |
class | DantzigBoxedLcpSolver |
class | DantzigLCPSolver |
class | JointConstraint |
class JointConstraint More... | |
class | JointCoulombFrictionConstraint |
Joint Coulomb friction constraint. More... | |
class | JointLimitConstraint |
JointLimitConstraint handles joint position and velocity limits. More... | |
class | LCPSolver |
class | MimicMotorConstraint |
Servo motor constraint. More... | |
class | PgsBoxedLcpSolver |
Implementation of projected Gauss-Seidel (PGS) LCP solver. More... | |
class | PGSLCPSolver |
struct | PGSOption |
class | ServoMotorConstraint |
Servo motor constraint. More... | |
class | SoftContactConstraint |
SoftContactConstraint represents a contact constraint between two bodies. More... | |
class | WeldJointConstraint |
WeldJointConstraint represents weld joint constraint between a body and the world or between two bodies. More... | |
Functions | |
template<typename JacType > | |
static void | addDampedPseudoInverseToGradient (Eigen::Map< Eigen::VectorXd > &grad, const JacType &J, const Eigen::MatrixXd &nullspace, const Eigen::Vector3d &error, double damping) |
bool | solvePGS (int n, int nskip, int, double *A, double *x, double *b, double *lo, double *hi, int *findex, PGSOption *option) |
template<typename PointMassT , typename SoftBodyNodeT > | |
static PointMassT | selectCollidingPointMassT (SoftBodyNodeT _softBodyNode, const Eigen::Vector3d &_point, int _faceId) |
Variables | |
constexpr double | DART_DEFAULT_FRICTION_COEFF = 1.0 |
constexpr double | DART_DEFAULT_RESTITUTION_COEFF = 0.0 |
constexpr double | DART_DEFAULT_SLIP_COMPLIANCE = 0.0 |
const Eigen::Vector3d | DART_DEFAULT_FRICTION_DIR = Eigen::Vector3d::UnitZ() |
using dart::constraint::BalanceConstraintPtr = typedef std::shared_ptr< BalanceConstraint > |
using dart::constraint::BallJointConstraintPtr = typedef std::shared_ptr< BallJointConstraint > |
using dart::constraint::BoxedLcpSolverPtr = typedef std::shared_ptr< BoxedLcpSolver > |
using dart::constraint::ClosedLoopConstraintPtr = typedef std::shared_ptr< ClosedLoopConstraint > |
using dart::constraint::ConstBalanceConstraintPtr = typedef std::shared_ptr<const BalanceConstraint > |
using dart::constraint::ConstBallJointConstraintPtr = typedef std::shared_ptr<const BallJointConstraint > |
using dart::constraint::ConstBoxedLcpSolverPtr = typedef std::shared_ptr<const BoxedLcpSolver > |
using dart::constraint::ConstClosedLoopConstraintPtr = typedef std::shared_ptr<const ClosedLoopConstraint > |
using dart::constraint::ConstConstrainedGroupPtr = typedef std::shared_ptr<const ConstrainedGroup > |
using dart::constraint::ConstConstraintBasePtr = typedef std::shared_ptr<const ConstraintBase > |
using dart::constraint::ConstConstraintSolverPtr = typedef std::shared_ptr<const ConstraintSolver > |
using dart::constraint::ConstContactConstraintPtr = typedef std::shared_ptr<const ContactConstraint > |
using dart::constraint::ConstJacobiBoxedLcpSolverPtr = typedef std::shared_ptr<const JacobiBoxedLcpSolver > |
using dart::constraint::ConstJointConstraintPtr = typedef std::shared_ptr<const JointConstraint > |
using dart::constraint::ConstJointCoulombFrictionConstraintPtr = typedef std::shared_ptr<const JointCoulombFrictionConstraint > |
using dart::constraint::ConstJointLimitConstraintPtr = typedef std::shared_ptr<const JointLimitConstraint > |
using dart::constraint::ConstLCPSolverPtr = typedef std::shared_ptr<const LCPSolver > |
using dart::constraint::ConstMimicMotorConstraintPtr = typedef std::shared_ptr<const MimicMotorConstraint > |
using dart::constraint::ConstPgsBoxedLcpSolverPtr = typedef std::shared_ptr<const PgsBoxedLcpSolver > |
using dart::constraint::ConstPsorBoxedLcpSolverPtr = typedef std::shared_ptr<const PsorBoxedLcpSolver > |
using dart::constraint::ConstrainedGroupPtr = typedef std::shared_ptr< ConstrainedGroup > |
using dart::constraint::ConstraintBasePtr = typedef std::shared_ptr< ConstraintBase > |
using dart::constraint::ConstraintSolverPtr = typedef std::shared_ptr< ConstraintSolver > |
using dart::constraint::ConstServoMotorConstraintPtr = typedef std::shared_ptr<const ServoMotorConstraint > |
using dart::constraint::ConstSoftContactConstraintPtr = typedef std::shared_ptr<const SoftContactConstraint > |
using dart::constraint::ConstWeldJointConstraintPtr = typedef std::shared_ptr<const WeldJointConstraint > |
using dart::constraint::ContactConstraintPtr = typedef std::shared_ptr< ContactConstraint > |
using dart::constraint::JacobiBoxedLcpSolverPtr = typedef std::shared_ptr< JacobiBoxedLcpSolver > |
using dart::constraint::JointConstraintPtr = typedef std::shared_ptr< JointConstraint > |
using dart::constraint::JointCoulombFrictionConstraintPtr = typedef std::shared_ptr< JointCoulombFrictionConstraint > |
using dart::constraint::JointLimitConstraintPtr = typedef std::shared_ptr< JointLimitConstraint > |
using dart::constraint::LCPSolverPtr = typedef std::shared_ptr< LCPSolver > |
using dart::constraint::MimicMotorConstraintPtr = typedef std::shared_ptr< MimicMotorConstraint > |
using dart::constraint::PgsBoxedLcpSolverPtr = typedef std::shared_ptr< PgsBoxedLcpSolver > |
using dart::constraint::PsorBoxedLcpSolverPtr = typedef std::shared_ptr< PsorBoxedLcpSolver > |
using dart::constraint::ServoMotorConstraintPtr = typedef std::shared_ptr< ServoMotorConstraint > |
using dart::constraint::SoftContactConstraintPtr = typedef std::shared_ptr< SoftContactConstraint > |
using dart::constraint::UniqueConstConstraintSolverPtr = typedef std::unique_ptr<const ConstraintSolver > |
using dart::constraint::UniqueConstraintSolverPtr = typedef std::unique_ptr< ConstraintSolver > |
using dart::constraint::WeakBalanceConstraintPtr = typedef std::weak_ptr< BalanceConstraint > |
using dart::constraint::WeakBallJointConstraintPtr = typedef std::weak_ptr< BallJointConstraint > |
using dart::constraint::WeakBoxedLcpSolverPtr = typedef std::weak_ptr< BoxedLcpSolver > |
using dart::constraint::WeakClosedLoopConstraintPtr = typedef std::weak_ptr< ClosedLoopConstraint > |
using dart::constraint::WeakConstBalanceConstraintPtr = typedef std::weak_ptr<const BalanceConstraint > |
using dart::constraint::WeakConstBallJointConstraintPtr = typedef std::weak_ptr<const BallJointConstraint > |
using dart::constraint::WeakConstBoxedLcpSolverPtr = typedef std::weak_ptr<const BoxedLcpSolver > |
using dart::constraint::WeakConstClosedLoopConstraintPtr = typedef std::weak_ptr<const ClosedLoopConstraint > |
using dart::constraint::WeakConstConstrainedGroupPtr = typedef std::weak_ptr<const ConstrainedGroup > |
using dart::constraint::WeakConstConstraintBasePtr = typedef std::weak_ptr<const ConstraintBase > |
using dart::constraint::WeakConstConstraintSolverPtr = typedef std::weak_ptr<const ConstraintSolver > |
using dart::constraint::WeakConstContactConstraintPtr = typedef std::weak_ptr<const ContactConstraint > |
using dart::constraint::WeakConstJacobiBoxedLcpSolverPtr = typedef std::weak_ptr<const JacobiBoxedLcpSolver > |
using dart::constraint::WeakConstJointConstraintPtr = typedef std::weak_ptr<const JointConstraint > |
using dart::constraint::WeakConstJointCoulombFrictionConstraintPtr = typedef std::weak_ptr<const JointCoulombFrictionConstraint > |
using dart::constraint::WeakConstJointLimitConstraintPtr = typedef std::weak_ptr<const JointLimitConstraint > |
using dart::constraint::WeakConstLCPSolverPtr = typedef std::weak_ptr<const LCPSolver > |
using dart::constraint::WeakConstMimicMotorConstraintPtr = typedef std::weak_ptr<const MimicMotorConstraint > |
using dart::constraint::WeakConstPgsBoxedLcpSolverPtr = typedef std::weak_ptr<const PgsBoxedLcpSolver > |
using dart::constraint::WeakConstPsorBoxedLcpSolverPtr = typedef std::weak_ptr<const PsorBoxedLcpSolver > |
using dart::constraint::WeakConstrainedGroupPtr = typedef std::weak_ptr< ConstrainedGroup > |
using dart::constraint::WeakConstraintBasePtr = typedef std::weak_ptr< ConstraintBase > |
using dart::constraint::WeakConstraintSolverPtr = typedef std::weak_ptr< ConstraintSolver > |
using dart::constraint::WeakConstServoMotorConstraintPtr = typedef std::weak_ptr<const ServoMotorConstraint > |
using dart::constraint::WeakConstSoftContactConstraintPtr = typedef std::weak_ptr<const SoftContactConstraint > |
using dart::constraint::WeakConstWeldJointConstraintPtr = typedef std::weak_ptr<const WeldJointConstraint > |
using dart::constraint::WeakContactConstraintPtr = typedef std::weak_ptr< ContactConstraint > |
using dart::constraint::WeakJacobiBoxedLcpSolverPtr = typedef std::weak_ptr< JacobiBoxedLcpSolver > |
using dart::constraint::WeakJointConstraintPtr = typedef std::weak_ptr< JointConstraint > |
using dart::constraint::WeakJointCoulombFrictionConstraintPtr = typedef std::weak_ptr< JointCoulombFrictionConstraint > |
using dart::constraint::WeakJointLimitConstraintPtr = typedef std::weak_ptr< JointLimitConstraint > |
using dart::constraint::WeakLCPSolverPtr = typedef std::weak_ptr< LCPSolver > |
using dart::constraint::WeakMimicMotorConstraintPtr = typedef std::weak_ptr< MimicMotorConstraint > |
using dart::constraint::WeakPgsBoxedLcpSolverPtr = typedef std::weak_ptr< PgsBoxedLcpSolver > |
using dart::constraint::WeakPsorBoxedLcpSolverPtr = typedef std::weak_ptr< PsorBoxedLcpSolver > |
using dart::constraint::WeakServoMotorConstraintPtr = typedef std::weak_ptr< ServoMotorConstraint > |
using dart::constraint::WeakSoftContactConstraintPtr = typedef std::weak_ptr< SoftContactConstraint > |
using dart::constraint::WeakWeldJointConstraintPtr = typedef std::weak_ptr< WeldJointConstraint > |
using dart::constraint::WeldJointConstraintPtr = typedef std::shared_ptr< WeldJointConstraint > |
|
static |
|
static |
bool dart::constraint::solvePGS | ( | int | n, |
int | nskip, | ||
int | , | ||
double * | A, | ||
double * | x, | ||
double * | b, | ||
double * | lo, | ||
double * | hi, | ||
int * | findex, | ||
PGSOption * | option | ||
) |
|
constexpr |
const Eigen::Vector3d dart::constraint::DART_DEFAULT_FRICTION_DIR = Eigen::Vector3d::UnitZ() |
|
constexpr |
|
constexpr |