SoftContactConstraint represents a contact constraint between two bodies.  
 More...
#include <SoftContactConstraint.hpp>
|  | 
| std::size_t | mDim | 
|  | Dimension of constraint. 
 | 
|  | 
SoftContactConstraint represents a contact constraint between two bodies. 
◆ SoftContactConstraint()
      
        
          | dart::constraint::SoftContactConstraint::SoftContactConstraint | ( | collision::Contact & | _contact, | 
        
          |  |  | double | _timeStep | 
        
          |  | ) |  |  | 
      
 
 
◆ ~SoftContactConstraint()
  
  | 
        
          | dart::constraint::SoftContactConstraint::~SoftContactConstraint | ( |  | ) |  |  | virtual | 
 
 
◆ applyImpulse()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::applyImpulse | ( | double * | lambda | ) |  |  | overrideprotectedvirtual | 
 
 
◆ applyUnitImpulse()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::applyUnitImpulse | ( | std::size_t | index | ) |  |  | overrideprotectedvirtual | 
 
 
◆ compressPath()
◆ computeFrictionCoefficient()
  
  | 
        
          | double dart::constraint::SoftContactConstraint::computeFrictionCoefficient | ( | const dynamics::ShapeNode * | shapeNode | ) |  |  | staticprotected | 
 
 
◆ computeRestitutionCoefficient()
  
  | 
        
          | double dart::constraint::SoftContactConstraint::computeRestitutionCoefficient | ( | const dynamics::ShapeNode * | shapeNode | ) |  |  | staticprotected | 
 
 
◆ excite()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::excite | ( |  | ) |  |  | overrideprotectedvirtual | 
 
 
◆ getConstraintForceMixing()
  
  | 
        
          | double dart::constraint::SoftContactConstraint::getConstraintForceMixing | ( |  | ) |  |  | static | 
 
Get global constraint force mixing parameter. 
 
 
◆ getDimension()
  
  | 
        
          | std::size_t dart::constraint::ConstraintBase::getDimension | ( |  | ) | const |  | inherited | 
 
Return dimesion of this constranit. 
 
 
◆ getErrorAllowance()
  
  | 
        
          | double dart::constraint::SoftContactConstraint::getErrorAllowance | ( |  | ) |  |  | static | 
 
Get global error reduction parameter. 
 
 
◆ getErrorReductionParameter()
  
  | 
        
          | double dart::constraint::SoftContactConstraint::getErrorReductionParameter | ( |  | ) |  |  | static | 
 
Get global error reduction parameter. 
 
 
◆ getFrictionDirection1()
      
        
          | const Eigen::Vector3d & dart::constraint::SoftContactConstraint::getFrictionDirection1 | ( |  | ) | const | 
      
 
Get first frictional direction. 
 
 
◆ getInformation()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::getInformation | ( | ConstraintInfo * | info | ) |  |  | overrideprotectedvirtual | 
 
 
◆ getMaxErrorReductionVelocity()
  
  | 
        
          | double dart::constraint::SoftContactConstraint::getMaxErrorReductionVelocity | ( |  | ) |  |  | static | 
 
Get global error reduction parameter. 
 
 
◆ getRelVelocity()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::getRelVelocity | ( | double * | _vel | ) |  |  | private | 
 
Get change in relative velocity at contact point due to external impulse. 
- Parameters
- 
  
    | [out] | _vel | Change in relative velocity at contact point of the two colliding bodies |  
 
 
 
◆ getRootSkeleton() [1/2]
◆ getRootSkeleton() [2/2]
◆ getStaticType()
  
  | 
        
          | const std::string & dart::constraint::SoftContactConstraint::getStaticType | ( |  | ) |  |  | static | 
 
Returns constraint type for this class. 
 
 
◆ getTangentBasisMatrixODE()
  
  | 
        
          | Eigen::MatrixXd dart::constraint::SoftContactConstraint::getTangentBasisMatrixODE | ( | const Eigen::Vector3d & | _n | ) |  |  | private | 
 
 
◆ getType()
  
  | 
        
          | const std::string & dart::constraint::SoftContactConstraint::getType | ( |  | ) | const |  | overridevirtual | 
 
 
◆ getVelocityChange()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::getVelocityChange | ( | double * | vel, |  
          |  |  | bool | withCfm |  
          |  | ) |  |  |  | overrideprotectedvirtual | 
 
 
◆ isActive()
  
  | 
        
          | bool dart::constraint::SoftContactConstraint::isActive | ( |  | ) | const |  | overrideprotectedvirtual | 
 
 
◆ selectCollidingPointMass() [1/2]
Find the nearest point mass from _point in a face, of which id is _faceId in _softBodyNode. 
Returns a pointer to a const, and is usable with a const SoftBodyNode. 
 
 
◆ selectCollidingPointMass() [2/2]
Find the nearest point mass from _point in a face, of which id is _faceId in _softBodyNode. 
 
 
◆ setConstraintForceMixing()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::setConstraintForceMixing | ( | double | _cfm | ) |  |  | static | 
 
Set global constraint force mixing parameter. 
 
 
◆ setErrorAllowance()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::setErrorAllowance | ( | double | _allowance | ) |  |  | static | 
 
Set global error reduction parameter. 
 
 
◆ setErrorReductionParameter()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::setErrorReductionParameter | ( | double | _erp | ) |  |  | static | 
 
Set global error reduction parameter. 
 
 
◆ setFrictionDirection()
      
        
          | void dart::constraint::SoftContactConstraint::setFrictionDirection | ( | const Eigen::Vector3d & | _dir | ) |  | 
      
 
Set first frictional direction. 
 
 
◆ setMaxErrorReductionVelocity()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::setMaxErrorReductionVelocity | ( | double | _erv | ) |  |  | static | 
 
Set global error reduction parameter. 
 
 
◆ unexcite()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::unexcite | ( |  | ) |  |  | overrideprotectedvirtual | 
 
 
◆ uniteSkeletons()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::uniteSkeletons | ( |  | ) |  |  | overrideprotectedvirtual | 
 
 
◆ update()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::update | ( |  | ) |  |  | overrideprotectedvirtual | 
 
 
◆ updateFirstFrictionalDirection()
  
  | 
        
          | void dart::constraint::SoftContactConstraint::updateFirstFrictionalDirection | ( |  | ) |  |  | private | 
 
 
◆ ConstrainedGroup
◆ ConstraintSolver
◆ mActive
  
  | 
        
          | bool dart::constraint::SoftContactConstraint::mActive |  | private | 
 
 
◆ mAppliedImpulseIndex
  
  | 
        
          | std::size_t dart::constraint::SoftContactConstraint::mAppliedImpulseIndex |  | private | 
 
Index of applied impulse. 
 
 
◆ mBodyDirection1
  
  | 
        
          | Eigen::Vector3d dart::constraint::SoftContactConstraint::mBodyDirection1 |  | private | 
 
Contact normal expressed in body frame of the first body node. 
 
 
◆ mBodyDirection2
  
  | 
        
          | Eigen::Vector3d dart::constraint::SoftContactConstraint::mBodyDirection2 |  | private | 
 
Contact normal expressed in body frame of the second body node. 
 
 
◆ mBodyNode1
◆ mBodyNode2
◆ mConstraintForceMixing
  
  | 
        
          | double dart::constraint::SoftContactConstraint::mConstraintForceMixing = 1e-5 |  | staticprivate | 
 
 
◆ mContacts
Contacts between mBodyNode1 and mBodyNode2. 
 
 
◆ mDim
  
  | 
        
          | std::size_t dart::constraint::ConstraintBase::mDim |  | protectedinherited | 
 
 
◆ mErrorAllowance
  
  | 
        
          | double dart::constraint::SoftContactConstraint::mErrorAllowance = 0.0 |  | staticprivate | 
 
Global constraint error allowance. 
 
 
◆ mErrorReductionParameter
  
  | 
        
          | double dart::constraint::SoftContactConstraint::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::SoftContactConstraint::mFirstFrictionalDirection |  | private | 
 
First frictional direction. 
 
 
◆ mFrictionCoeff
  
  | 
        
          | double dart::constraint::SoftContactConstraint::mFrictionCoeff |  | private | 
 
 
◆ mIsBounceOn
  
  | 
        
          | bool dart::constraint::SoftContactConstraint::mIsBounceOn |  | private | 
 
 
◆ mIsFrictionOn
  
  | 
        
          | bool dart::constraint::SoftContactConstraint::mIsFrictionOn |  | private | 
 
 
◆ mJacobians1
Local body jacobians for mBodyNode1. 
 
 
◆ mJacobians2
Local body jacobians for mBodyNode2. 
 
 
◆ mMaxErrorReductionVelocity
  
  | 
        
          | double dart::constraint::SoftContactConstraint::mMaxErrorReductionVelocity = 1e+1 |  | staticprivate | 
 
Maximum error reduction velocity. 
 
 
◆ mPointMass1
◆ mPointMass2
◆ mRestitutionCoeff
  
  | 
        
          | double dart::constraint::SoftContactConstraint::mRestitutionCoeff |  | private | 
 
Coefficient of restitution. 
 
 
◆ mSoftBodyNode1
◆ mSoftBodyNode2
◆ mSoftCollInfo
  
  | 
        
          | collision::SoftCollisionInfo* dart::constraint::SoftContactConstraint::mSoftCollInfo |  | private | 
 
Soft collision information. 
 
 
◆ mTimeStep
  
  | 
        
          | double dart::constraint::SoftContactConstraint::mTimeStep |  | private |