Simbody
Public Member Functions

SimTK::Constraint::Ball Class Reference

Three constraint equations. More...

#include <Constraint.h>

Inheritance diagram for SimTK::Constraint::Ball:

List of all members.

Public Member Functions

 Ball (MobilizedBody &body1, MobilizedBody &body2)
 Ball (MobilizedBody &body1, const Vec3 &defaultPoint1, MobilizedBody &body2, const Vec3 &defaultPoint2)
BallsetDefaultPointOnBody1 (const Vec3 &)
BallsetDefaultPointOnBody2 (const Vec3 &)
BallsetDefaultRadius (Real r)
Real getDefaultRadius () const
MobilizedBodyIndex getBody1MobilizedBodyIndex () const
MobilizedBodyIndex getBody2MobilizedBodyIndex () const
const Vec3getDefaultPointOnBody1 () const
const Vec3getDefaultPointOnBody2 () const
const Vec3getPointOnBody1 (const State &) const
const Vec3getPointOnBody2 (const State &) const
Vec3 getPositionErrors (const State &) const
Vec3 getVelocityErrors (const State &) const
Vec3 getAccelerationErrors (const State &) const
Vec3 getMultipliers (const State &) const
const Vec3getBallReactionForceOnBody1 (const State &) const
const Vec3getBallReactionForceOnBody2 (const State &) const
 SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (Ball, BallImpl, Constraint)

Detailed Description

Three constraint equations.

This constraint enforces coincident location between a point on one body and a point on another body.

The constraint is enforced by an internal (non-working) force applied at the spatial location of the point on body 2, on material points of each body that are coincident with that spatial location. Note that this is somewhat asymmetric when the ball is not properly assembled -- it acts as though the contact occurs at the point on body 2, *not* at the point on body 1.

The assembly condition is the same as the runtime constraint -- the two points can be brought together by driving the perr to zero.


Constructor & Destructor Documentation

SimTK::Constraint::Ball::Ball ( MobilizedBody body1,
const Vec3 defaultPoint1,
MobilizedBody body2,
const Vec3 defaultPoint2 
)

Member Function Documentation

Ball& SimTK::Constraint::Ball::setDefaultPointOnBody1 ( const Vec3 )
Ball& SimTK::Constraint::Ball::setDefaultPointOnBody2 ( const Vec3 )
Ball& SimTK::Constraint::Ball::setDefaultRadius ( Real  r)
Real SimTK::Constraint::Ball::getDefaultRadius ( ) const
MobilizedBodyIndex SimTK::Constraint::Ball::getBody1MobilizedBodyIndex ( ) const
MobilizedBodyIndex SimTK::Constraint::Ball::getBody2MobilizedBodyIndex ( ) const
const Vec3& SimTK::Constraint::Ball::getDefaultPointOnBody1 ( ) const
const Vec3& SimTK::Constraint::Ball::getDefaultPointOnBody2 ( ) const
const Vec3& SimTK::Constraint::Ball::getPointOnBody1 ( const State ) const
const Vec3& SimTK::Constraint::Ball::getPointOnBody2 ( const State ) const
Vec3 SimTK::Constraint::Ball::getPositionErrors ( const State ) const
Vec3 SimTK::Constraint::Ball::getVelocityErrors ( const State ) const
Vec3 SimTK::Constraint::Ball::getAccelerationErrors ( const State ) const
Vec3 SimTK::Constraint::Ball::getMultipliers ( const State ) const
const Vec3& SimTK::Constraint::Ball::getBallReactionForceOnBody1 ( const State ) const
const Vec3& SimTK::Constraint::Ball::getBallReactionForceOnBody2 ( const State ) const
SimTK::Constraint::Ball::SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS ( Ball  ,
BallImpl  ,
Constraint   
)

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines