Simbody
|
One non-holonomic constraint equation. More...
#include <Constraint.h>
Public Member Functions | |
NoSlip1D (MobilizedBody &caseBodyC, const Vec3 &P_C, const UnitVec3 &n_C, MobilizedBody &movingBody0, MobilizedBody &movingBody1) | |
NoSlip1D & | setDirectionDisplayLength (Real) |
NoSlip1D & | setPointDisplayRadius (Real) |
Real | getDirectionDisplayLength () const |
Real | getPointDisplayRadius () const |
NoSlip1D & | setDefaultDirection (const UnitVec3 &) |
NoSlip1D & | setDefaultContactPoint (const Vec3 &) |
MobilizedBodyIndex | getCaseMobilizedBodyIndex () const |
MobilizedBodyIndex | getMovingBodyMobilizedBodyIndex (int which) const |
const UnitVec3 & | getDefaultDirection () const |
const Vec3 & | getDefaultContactPoint () const |
const UnitVec3 & | getDirection (const State &) const |
const Vec3 & | getContactPoint (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) |
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.
SimTK::Constraint::NoSlip1D::NoSlip1D | ( | MobilizedBody & | caseBodyC, |
const Vec3 & | P_C, | ||
const UnitVec3 & | n_C, | ||
MobilizedBody & | movingBody0, | ||
MobilizedBody & | movingBody1 | ||
) |
NoSlip1D& SimTK::Constraint::NoSlip1D::setDirectionDisplayLength | ( | Real | ) |
NoSlip1D& SimTK::Constraint::NoSlip1D::setPointDisplayRadius | ( | Real | ) |
Real SimTK::Constraint::NoSlip1D::getDirectionDisplayLength | ( | ) | const |
Real SimTK::Constraint::NoSlip1D::getPointDisplayRadius | ( | ) | const |
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 |
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 | |||
) |