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

#include <ConstraintForceSolver.h>

Public Types

typedef boost::function< bool(Link *link1, Link *link2, const CollisionArray &collisions, const ContactAttribute &attribute)> CollisionHandler
 

Public Member Functions

 ConstraintForceSolver (WorldBase &world)
 
 ~ConstraintForceSolver ()
 
void setCollisionDetector (CollisionDetectorPtr detector)
 
CollisionDetectorPtr collisionDetector ()
 
void setFriction (double staticFriction, double slipFliction)
 
double staticFriction () const
 
double slipFriction () 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 ()
 
CollisionLinkPairListPtr getCollisions ()
 
void setFriction (Link *link1, Link *link2, double staticFriction, double slipFriction)
 
int registerCollisionHandler (const std::string &name, CollisionHandler handler)
 
void unregisterCollisionHandler (int handlerId)
 
int collisionHandlerId (const std::string &name) const
 
void setCollisionHandler (Link *link1, Link *link2, int handlerId)
 

Member Typedef Documentation

◆ CollisionHandler

typedef boost::function<bool(Link* link1, Link* link2, const CollisionArray& collisions, const ContactAttribute& attribute)> cnoid::ConstraintForceSolver::CollisionHandler

Constructor & Destructor Documentation

◆ ConstraintForceSolver()

ConstraintForceSolver::ConstraintForceSolver ( WorldBase world)

◆ ~ConstraintForceSolver()

ConstraintForceSolver::~ConstraintForceSolver ( )

Member Function Documentation

◆ clearExternalForces()

void ConstraintForceSolver::clearExternalForces ( )

◆ coefficientOfRestitution()

double ConstraintForceSolver::coefficientOfRestitution ( ) const

◆ collisionDetector()

CollisionDetectorPtr ConstraintForceSolver::collisionDetector ( )

◆ collisionHandlerId()

int ConstraintForceSolver::collisionHandlerId ( const std::string &  name) const

◆ 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()

CollisionLinkPairListPtr ConstraintForceSolver::getCollisions ( )

◆ initialize()

void ConstraintForceSolver::initialize ( void  )

◆ registerCollisionHandler()

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

◆ set2Dmode()

void ConstraintForceSolver::set2Dmode ( bool  on)

◆ setCoefficientOfRestitution()

void ConstraintForceSolver::setCoefficientOfRestitution ( double  epsilon)

◆ setCollisionDetector()

void ConstraintForceSolver::setCollisionDetector ( CollisionDetectorPtr  detector)

◆ setCollisionHandler()

void ConstraintForceSolver::setCollisionHandler ( Link link1,
Link link2,
int  handlerId 
)

◆ setContactCullingDepth()

void ConstraintForceSolver::setContactCullingDepth ( double  depth)

◆ setContactCullingDistance()

void ConstraintForceSolver::setContactCullingDistance ( double  thresh)

◆ setContactDepthCorrection()

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

◆ setFriction() [1/2]

void ConstraintForceSolver::setFriction ( double  staticFriction,
double  slipFliction 
)

◆ setFriction() [2/2]

void ConstraintForceSolver::setFriction ( Link link1,
Link link2,
double  staticFriction,
double  slipFriction 
)

◆ setGaussSeidelErrorCriterion()

void ConstraintForceSolver::setGaussSeidelErrorCriterion ( double  e)

◆ setGaussSeidelMaxNumIterations()

void ConstraintForceSolver::setGaussSeidelMaxNumIterations ( int  n)

◆ slipFriction()

double ConstraintForceSolver::slipFriction ( ) const

◆ solve()

void ConstraintForceSolver::solve ( )

◆ staticFriction()

double ConstraintForceSolver::staticFriction ( ) const

◆ unregisterCollisionHandler()

void ConstraintForceSolver::unregisterCollisionHandler ( int  handlerId)

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