Simbody
|
This ContactForceGenerator silently does nothing. More...
#include <CompliantContactSubsystem.h>
Public Member Functions | |
DoNothing (ContactTypeId type=ContactTypeId(0)) | |
virtual | ~DoNothing () |
virtual void | calcContactForce (const State &state, const Contact &overlapping, const SpatialVec &V_S1S2, ContactForce &contactForce) const |
The CompliantContactSubsystem will invoke this method on any active contact pair of the right Contact type for which there is overlapping undeformed geometry. | |
virtual void | calcContactPatch (const State &state, const Contact &overlapping, const SpatialVec &V_S1S2, ContactPatch &patch) const |
The CompliantContactSubsystem will invoke this method in response to a user request for contact patch information; this returns force, potential energy, and power as above but may also require expensive computations that can be avoided in calcContactForce(). |
This ContactForceGenerator silently does nothing.
It can be used as a way to explicitly ignore a certain ContactTypeId, or more commonly it is used as the fallback generator for unrecognized ContactTypeIds.
SimTK::ContactForceGenerator::DoNothing::DoNothing | ( | ContactTypeId | type = ContactTypeId(0) | ) | [inline, explicit] |
virtual SimTK::ContactForceGenerator::DoNothing::~DoNothing | ( | ) | [inline, virtual] |
virtual void SimTK::ContactForceGenerator::DoNothing::calcContactForce | ( | const State & | state, |
const Contact & | overlapping, | ||
const SpatialVec & | V_S1S2, | ||
ContactForce & | contactForce | ||
) | const [inline, virtual] |
The CompliantContactSubsystem will invoke this method on any active contact pair of the right Contact type for which there is overlapping undeformed geometry.
The force generator is expected to calculate a point in space where equal and opposite contact forces should be applied to the two contacting rigid bodies, the potential energy currently stored in this contact, and the power (energy dissipation rate). State should be used for instance info only; use position information from overlapping and velocity information from the supplied arguments. That allows this method to be used as an operator, for example to calculate potential energy when velocities are not yet available.
Implements SimTK::ContactForceGenerator.
virtual void SimTK::ContactForceGenerator::DoNothing::calcContactPatch | ( | const State & | state, |
const Contact & | overlapping, | ||
const SpatialVec & | V_S1S2, | ||
ContactPatch & | patch | ||
) | const [inline, virtual] |
The CompliantContactSubsystem will invoke this method in response to a user request for contact patch information; this returns force, potential energy, and power as above but may also require expensive computations that can be avoided in calcContactForce().
Don't use the state for position or velocity information; the only allowed positions are in the Contact object and the velocities are supplied explicitly.
Implements SimTK::ContactForceGenerator.