Simbody
Public Member Functions | Public Attributes

SimTK::ContactPatch Class Reference

A ContactPatch is the description of the forces and the deformed shape of the contact surfaces that result from compliant contact interactions. More...

#include <CompliantContactSubsystem.h>

List of all members.

Public Member Functions

void clear ()
bool isValid () const
const ContactForcegetContactForce () const
int getNumDetails () const
const ContactDetailgetContactDetail (int n) const
void changeFrameInPlace (const Transform &X_BA)
 This object is currently in an assumed frame A; given a transform from another frame B to A we'll re-measure and re-express this in B.

Public Attributes

ContactForce m_resultant
Array_< ContactDetailm_elements

Detailed Description

A ContactPatch is the description of the forces and the deformed shape of the contact surfaces that result from compliant contact interactions.

This should not be confused with the Contact object that describes only the overlap in undeformed surface geometry and knows nothing of forces or materials. Although there are several qualitatively different kinds of compliant contact models, we assume that each can be described by some number of contact "elements" and report the detailed results in terms of those elements. Depending on the model, the elements may be associated with the surfaces or may be associated with the patch. Either way, every element applies equal and opposite forces to both surfaces. There is not necessarily any direct correspondence between elements on one surface with elements on the other.

A Hertz contact will have only a single element that belongs to the patch, while an elastic foundation contact will have many, with each element associated with one or the other surface. Only the elements that are currently participating in contact will have entries here; the surface and element id is stored with each piece of ContactDetail information. There is also some basic information needed to advance the simulation and that is common to all contact patch types and stored as a ContactForce resultant.


Member Function Documentation

void SimTK::ContactPatch::clear ( ) [inline]
bool SimTK::ContactPatch::isValid ( ) const [inline]
const ContactForce& SimTK::ContactPatch::getContactForce ( ) const [inline]
int SimTK::ContactPatch::getNumDetails ( ) const [inline]
const ContactDetail& SimTK::ContactPatch::getContactDetail ( int  n) const [inline]
void SimTK::ContactPatch::changeFrameInPlace ( const Transform X_BA) [inline]

This object is currently in an assumed frame A; given a transform from another frame B to A we'll re-measure and re-express this in B.

This is an expensive operation.


Member Data Documentation


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