Choreonoid  1.8
Public Types | Public Member Functions | List of all members
cnoid::ConstraintForceSolver Class Reference

#include <ConstraintForceSolver.h>

Public Types

typedef std::function< bool(Link *link1, Link *link2, const CollisionArray &collisions, ContactMaterial *contactMaterial)> CollisionHandler
 

Public Member Functions

 ConstraintForceSolver (DyWorldBase &world)
 
 ~ConstraintForceSolver ()
 
void setCollisionDetector (CollisionDetector *detector)
 
CollisionDetectorcollisionDetector ()
 
void setBodyCollisionDetectionMode (int bodyIndex, bool isBodyToBodyCollisionEnabled, bool isSelfCollisionDetectionEnabled)
 
void setMaterialTable (MaterialTable *table)
 
void setFrictionCoefficientRange (double minFriction, double maxFriction)
 
double minFrictionCoefficient () const
 
double maxFrictionCoefficient () const
 
void setContactCullingDistance (double thresh)
 
double contactCullingDistance () const
 
void setContactCullingDepth (double depth)
 
double contactCullingDepth ()
 
void setCoefficientOfRestitution (double epsilon)
 
double coefficientOfRestitution () const
 
void setGaussSeidelErrorCriterion (double e)
 
double gaussSeidelErrorCriterion ()
 
void setGaussSeidelMaxNumIterations (int n)
 
int gaussSeidelMaxNumIterations ()
 
void setContactDepthCorrection (double depth, double velocityRatio)
 
double contactCorrectionDepth ()
 
double contactCorrectionVelocityRatio ()
 
void set2Dmode (bool on)
 
void enableConstraintForceOutput (bool on)
 
void initialize (void)
 
void solve ()
 
void clearExternalForces ()
 
std::shared_ptr< CollisionLinkPairListgetCollisions ()
 
void registerCollisionHandler (const std::string &name, CollisionHandler handler)
 
bool unregisterCollisionHandler (const std::string &name)
 

Member Typedef Documentation

◆ CollisionHandler

typedef std::function<bool(Link* link1, Link* link2, const CollisionArray& collisions, ContactMaterial* contactMaterial)> cnoid::ConstraintForceSolver::CollisionHandler

Constructor & Destructor Documentation

◆ ConstraintForceSolver()

ConstraintForceSolver::ConstraintForceSolver ( DyWorldBase world)

◆ ~ConstraintForceSolver()

ConstraintForceSolver::~ConstraintForceSolver ( )

Member Function Documentation

◆ clearExternalForces()

void ConstraintForceSolver::clearExternalForces ( )

◆ coefficientOfRestitution()

double ConstraintForceSolver::coefficientOfRestitution ( ) const

◆ collisionDetector()

CollisionDetector * ConstraintForceSolver::collisionDetector ( )

◆ contactCorrectionDepth()

double ConstraintForceSolver::contactCorrectionDepth ( )

◆ contactCorrectionVelocityRatio()

double ConstraintForceSolver::contactCorrectionVelocityRatio ( )

◆ contactCullingDepth()

double ConstraintForceSolver::contactCullingDepth ( )

◆ contactCullingDistance()

double ConstraintForceSolver::contactCullingDistance ( ) const

◆ enableConstraintForceOutput()

void ConstraintForceSolver::enableConstraintForceOutput ( bool  on)

◆ gaussSeidelErrorCriterion()

double ConstraintForceSolver::gaussSeidelErrorCriterion ( )

◆ gaussSeidelMaxNumIterations()

int ConstraintForceSolver::gaussSeidelMaxNumIterations ( )

◆ getCollisions()

shared_ptr< CollisionLinkPairList > ConstraintForceSolver::getCollisions ( )

◆ initialize()

void ConstraintForceSolver::initialize ( void  )

◆ maxFrictionCoefficient()

double ConstraintForceSolver::maxFrictionCoefficient ( ) const

◆ minFrictionCoefficient()

double ConstraintForceSolver::minFrictionCoefficient ( ) const

◆ registerCollisionHandler()

void ConstraintForceSolver::registerCollisionHandler ( const std::string &  name,
CollisionHandler  handler 
)

◆ set2Dmode()

void ConstraintForceSolver::set2Dmode ( bool  on)

◆ setBodyCollisionDetectionMode()

void ConstraintForceSolver::setBodyCollisionDetectionMode ( int  bodyIndex,
bool  isBodyToBodyCollisionEnabled,
bool  isSelfCollisionDetectionEnabled 
)

◆ setCoefficientOfRestitution()

void ConstraintForceSolver::setCoefficientOfRestitution ( double  epsilon)

◆ setCollisionDetector()

void ConstraintForceSolver::setCollisionDetector ( CollisionDetector detector)

◆ setContactCullingDepth()

void ConstraintForceSolver::setContactCullingDepth ( double  depth)

◆ setContactCullingDistance()

void ConstraintForceSolver::setContactCullingDistance ( double  thresh)

◆ setContactDepthCorrection()

void ConstraintForceSolver::setContactDepthCorrection ( double  depth,
double  velocityRatio 
)

◆ setFrictionCoefficientRange()

void ConstraintForceSolver::setFrictionCoefficientRange ( double  minFriction,
double  maxFriction 
)

◆ setGaussSeidelErrorCriterion()

void ConstraintForceSolver::setGaussSeidelErrorCriterion ( double  e)

◆ setGaussSeidelMaxNumIterations()

void ConstraintForceSolver::setGaussSeidelMaxNumIterations ( int  n)

◆ setMaterialTable()

void ConstraintForceSolver::setMaterialTable ( MaterialTable table)

◆ solve()

void ConstraintForceSolver::solve ( )

◆ unregisterCollisionHandler()

bool ConstraintForceSolver::unregisterCollisionHandler ( const std::string &  name)

The documentation for this class was generated from the following files: