ContactConstraint represents a contact constraint between two bodies.
More...
#include <ContactConstraint.hpp>
ContactConstraint represents a contact constraint between two bodies.
◆ TangentBasisMatrix
◆ ContactConstraint()
dart::constraint::ContactConstraint::ContactConstraint |
( |
collision::Contact & |
contact, |
|
|
double |
timeStep |
|
) |
| |
◆ ~ContactConstraint()
dart::constraint::ContactConstraint::~ContactConstraint |
( |
| ) |
|
|
overridedefault |
◆ applyImpulse()
void dart::constraint::ContactConstraint::applyImpulse |
( |
double * |
lambda | ) |
|
|
overrideprotectedvirtual |
◆ applyUnitImpulse()
void dart::constraint::ContactConstraint::applyUnitImpulse |
( |
std::size_t |
index | ) |
|
|
overrideprotectedvirtual |
◆ compressPath()
◆ computeFrictionCoefficient()
double dart::constraint::ContactConstraint::computeFrictionCoefficient |
( |
const dynamics::ShapeNode * |
shapeNode | ) |
|
|
staticprotected |
◆ computePrimaryFrictionCoefficient()
double dart::constraint::ContactConstraint::computePrimaryFrictionCoefficient |
( |
const dynamics::ShapeNode * |
shapeNode | ) |
|
|
staticprotected |
◆ computePrimarySlipCompliance()
double dart::constraint::ContactConstraint::computePrimarySlipCompliance |
( |
const dynamics::ShapeNode * |
shapeNode | ) |
|
|
staticprotected |
◆ computeRestitutionCoefficient()
double dart::constraint::ContactConstraint::computeRestitutionCoefficient |
( |
const dynamics::ShapeNode * |
shapeNode | ) |
|
|
staticprotected |
◆ computeSecondaryFrictionCoefficient()
double dart::constraint::ContactConstraint::computeSecondaryFrictionCoefficient |
( |
const dynamics::ShapeNode * |
shapeNode | ) |
|
|
staticprotected |
◆ computeSecondarySlipCompliance()
double dart::constraint::ContactConstraint::computeSecondarySlipCompliance |
( |
const dynamics::ShapeNode * |
shapeNode | ) |
|
|
staticprotected |
◆ computeWorldFirstFrictionDir()
Eigen::Vector3d dart::constraint::ContactConstraint::computeWorldFirstFrictionDir |
( |
const dynamics::ShapeNode * |
shapenode | ) |
|
|
staticprotected |
◆ excite()
void dart::constraint::ContactConstraint::excite |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ getConstraintForceMixing()
double dart::constraint::ContactConstraint::getConstraintForceMixing |
( |
| ) |
|
|
static |
Get global constraint force mixing parameter.
◆ getContact()
Get contact object associated witht this constraint.
◆ getDimension()
std::size_t dart::constraint::ConstraintBase::getDimension |
( |
| ) |
const |
|
inherited |
Return dimesion of this constranit.
◆ getErrorAllowance()
double dart::constraint::ContactConstraint::getErrorAllowance |
( |
| ) |
|
|
static |
Get global error reduction parameter.
◆ getErrorReductionParameter()
double dart::constraint::ContactConstraint::getErrorReductionParameter |
( |
| ) |
|
|
static |
Get global error reduction parameter.
◆ getFrictionDirection1()
const Eigen::Vector3d & dart::constraint::ContactConstraint::getFrictionDirection1 |
( |
| ) |
const |
Get first frictional direction.
◆ getInformation()
void dart::constraint::ContactConstraint::getInformation |
( |
ConstraintInfo * |
info | ) |
|
|
overrideprotectedvirtual |
◆ getMaxErrorReductionVelocity()
double dart::constraint::ContactConstraint::getMaxErrorReductionVelocity |
( |
| ) |
|
|
static |
Get global error reduction parameter.
◆ getPrimarySlipCompliance()
double dart::constraint::ContactConstraint::getPrimarySlipCompliance |
( |
| ) |
const |
|
private |
Get primary slip compliance.
◆ getRelVelocity()
void dart::constraint::ContactConstraint::getRelVelocity |
( |
double * |
relVel | ) |
|
|
private |
Get change in relative velocity at contact point due to external impulse.
- Parameters
-
[out] | relVel | Change in relative velocity at contact point of the two colliding bodies. |
◆ getRootSkeleton() [1/2]
◆ getRootSkeleton() [2/2]
◆ getSecondarySlipCompliance()
double dart::constraint::ContactConstraint::getSecondarySlipCompliance |
( |
| ) |
const |
|
private |
Get secondary slip compliance.
◆ getStaticType()
const std::string & dart::constraint::ContactConstraint::getStaticType |
( |
| ) |
|
|
static |
Returns constraint type for this class.
◆ getTangentBasisMatrixODE()
◆ getType()
const std::string & dart::constraint::ContactConstraint::getType |
( |
| ) |
const |
|
overridevirtual |
◆ getVelocityChange()
void dart::constraint::ContactConstraint::getVelocityChange |
( |
double * |
vel, |
|
|
bool |
withCfm |
|
) |
| |
|
overrideprotectedvirtual |
◆ isActive()
bool dart::constraint::ContactConstraint::isActive |
( |
| ) |
const |
|
overrideprotectedvirtual |
◆ setConstraintForceMixing()
void dart::constraint::ContactConstraint::setConstraintForceMixing |
( |
double |
cfm | ) |
|
|
static |
Set global constraint force mixing parameter.
◆ setErrorAllowance()
void dart::constraint::ContactConstraint::setErrorAllowance |
( |
double |
allowance | ) |
|
|
static |
Set global error reduction parameter.
◆ setErrorReductionParameter()
void dart::constraint::ContactConstraint::setErrorReductionParameter |
( |
double |
erp | ) |
|
|
static |
Set global error reduction parameter.
◆ setFrictionDirection()
void dart::constraint::ContactConstraint::setFrictionDirection |
( |
const Eigen::Vector3d & |
dir | ) |
|
Set first frictional direction.
◆ setMaxErrorReductionVelocity()
void dart::constraint::ContactConstraint::setMaxErrorReductionVelocity |
( |
double |
erv | ) |
|
|
static |
Set global error reduction parameter.
◆ setPrimarySlipCompliance()
void dart::constraint::ContactConstraint::setPrimarySlipCompliance |
( |
double |
slip | ) |
|
|
private |
Set primary slip compliance.
◆ setSecondarySlipCompliance()
void dart::constraint::ContactConstraint::setSecondarySlipCompliance |
( |
double |
slip | ) |
|
|
private |
Set secondary slip compliance.
◆ unexcite()
void dart::constraint::ContactConstraint::unexcite |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ uniteSkeletons()
void dart::constraint::ContactConstraint::uniteSkeletons |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ update()
void dart::constraint::ContactConstraint::update |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ updateFirstFrictionalDirection()
void dart::constraint::ContactConstraint::updateFirstFrictionalDirection |
( |
| ) |
|
|
private |
◆ ConstrainedGroup
◆ ConstraintSolver
◆ mActive
bool dart::constraint::ContactConstraint::mActive |
|
private |
◆ mAppliedImpulseIndex
std::size_t dart::constraint::ContactConstraint::mAppliedImpulseIndex |
|
private |
Index of applied impulse.
◆ mBodyNodeA
◆ mBodyNodeB
◆ mConstraintForceMixing
double dart::constraint::ContactConstraint::mConstraintForceMixing = 1e-5 |
|
staticprivate |
◆ mContact
Contact between mBodyNode1 and mBodyNode2.
◆ mDim
std::size_t dart::constraint::ConstraintBase::mDim |
|
protectedinherited |
◆ mErrorAllowance
double dart::constraint::ContactConstraint::mErrorAllowance = 0.0 |
|
staticprivate |
Global constraint error allowance.
◆ mErrorReductionParameter
double dart::constraint::ContactConstraint::mErrorReductionParameter = 0.01 |
|
staticprivate |
Global constraint error redection parameter in the range of [0, 1].
The default is 0.01.
◆ mFirstFrictionalDirection
Eigen::Vector3d dart::constraint::ContactConstraint::mFirstFrictionalDirection |
|
private |
First frictional direction.
◆ mIsBounceOn
bool dart::constraint::ContactConstraint::mIsBounceOn |
|
private |
◆ mIsFrictionOn
bool dart::constraint::ContactConstraint::mIsFrictionOn |
|
private |
◆ mIsSelfCollision
bool dart::constraint::ContactConstraint::mIsSelfCollision |
|
private |
Whether this contact is self-collision.
◆ mMaxErrorReductionVelocity
double dart::constraint::ContactConstraint::mMaxErrorReductionVelocity = 1e-3 |
|
staticprivate |
Maximum error reduction velocity.
◆ mPrimaryFrictionCoeff
double dart::constraint::ContactConstraint::mPrimaryFrictionCoeff |
|
private |
Primary Coefficient of Friction.
◆ mPrimarySlipCompliance
double dart::constraint::ContactConstraint::mPrimarySlipCompliance |
|
private |
Primary Coefficient of Slip Compliance.
◆ mRestitutionCoeff
double dart::constraint::ContactConstraint::mRestitutionCoeff |
|
private |
Coefficient of restitution.
◆ mSecondaryFrictionCoeff
double dart::constraint::ContactConstraint::mSecondaryFrictionCoeff |
|
private |
Primary Coefficient of Friction.
◆ mSecondarySlipCompliance
double dart::constraint::ContactConstraint::mSecondarySlipCompliance |
|
private |
Secondary Coefficient of Slip Compliance.
◆ mSpatialNormalA
Eigen::Matrix<double, 6, Eigen::Dynamic> dart::constraint::ContactConstraint::mSpatialNormalA |
|
private |
Local body jacobians for mBodyNode1.
◆ mSpatialNormalB
Eigen::Matrix<double, 6, Eigen::Dynamic> dart::constraint::ContactConstraint::mSpatialNormalB |
|
private |
Local body jacobians for mBodyNode2.
◆ mTimeStep
double dart::constraint::ContactConstraint::mTimeStep |
|
private |