Simbody
Public Member Functions

SimTK::Constraint::NoSlip1D Class Reference

One non-holonomic constraint equation. More...

#include <Constraint.h>

Inheritance diagram for SimTK::Constraint::NoSlip1D:

List of all members.

Public Member Functions

 NoSlip1D (MobilizedBody &caseBodyC, const Vec3 &P_C, const UnitVec3 &n_C, MobilizedBody &movingBody0, MobilizedBody &movingBody1)
NoSlip1DsetDirectionDisplayLength (Real)
NoSlip1DsetPointDisplayRadius (Real)
Real getDirectionDisplayLength () const
Real getPointDisplayRadius () const
NoSlip1DsetDefaultDirection (const UnitVec3 &)
NoSlip1DsetDefaultContactPoint (const Vec3 &)
MobilizedBodyIndex getCaseMobilizedBodyIndex () const
MobilizedBodyIndex getMovingBodyMobilizedBodyIndex (int which) const
const UnitVec3getDefaultDirection () const
const Vec3getDefaultContactPoint () const
const UnitVec3getDirection (const State &) const
const Vec3getContactPoint (const State &) const
Real getVelocityError (const State &) const
Real getAccelerationError (const State &) const
Real getMultiplier (const State &) const
Real getForceAtContactPoint (const State &) const
 SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (NoSlip1D, NoSlip1DImpl, Constraint)

Detailed Description

One non-holonomic constraint equation.

There is a contact point P and a no-slip direction n fixed in a case body C. There are two moving bodies B0 and B1. The material point of B0 and the material point of B1 which are each coincident with the contact point P must have identical velocities in C, along the direction n. This can be used to implement simple rolling contact between disks, such as occurs in gear trains.

The assembly condition is the same as the run-time constraint: the velocities must be made to match.


Constructor & Destructor Documentation

SimTK::Constraint::NoSlip1D::NoSlip1D ( MobilizedBody caseBodyC,
const Vec3 P_C,
const UnitVec3 n_C,
MobilizedBody movingBody0,
MobilizedBody movingBody1 
)

Member Function Documentation

NoSlip1D& SimTK::Constraint::NoSlip1D::setDirectionDisplayLength ( Real  )
NoSlip1D& SimTK::Constraint::NoSlip1D::setPointDisplayRadius ( Real  )
Real SimTK::Constraint::NoSlip1D::getDirectionDisplayLength ( ) const
Real SimTK::Constraint::NoSlip1D::getPointDisplayRadius ( ) const
NoSlip1D& SimTK::Constraint::NoSlip1D::setDefaultDirection ( const UnitVec3 )
NoSlip1D& SimTK::Constraint::NoSlip1D::setDefaultContactPoint ( const Vec3 )
MobilizedBodyIndex SimTK::Constraint::NoSlip1D::getCaseMobilizedBodyIndex ( ) const
MobilizedBodyIndex SimTK::Constraint::NoSlip1D::getMovingBodyMobilizedBodyIndex ( int  which) const
const UnitVec3& SimTK::Constraint::NoSlip1D::getDefaultDirection ( ) const
const Vec3& SimTK::Constraint::NoSlip1D::getDefaultContactPoint ( ) const
const UnitVec3& SimTK::Constraint::NoSlip1D::getDirection ( const State ) const
const Vec3& SimTK::Constraint::NoSlip1D::getContactPoint ( const State ) const
Real SimTK::Constraint::NoSlip1D::getVelocityError ( const State ) const
Real SimTK::Constraint::NoSlip1D::getAccelerationError ( const State ) const
Real SimTK::Constraint::NoSlip1D::getMultiplier ( const State ) const
Real SimTK::Constraint::NoSlip1D::getForceAtContactPoint ( const State ) const
SimTK::Constraint::NoSlip1D::SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS ( NoSlip1D  ,
NoSlip1DImpl  ,
Constraint   
)

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