Simbody
3.7
|
This subclass of Contact represents a pair of contact surfaces that were in contact (meaning within cutoff range) but have now gone out of range. More...
Public Member Functions | |
BrokenContact (ContactSurfaceIndex surf1, ContactSurfaceIndex surf2, const Transform &X_S1S2, Real separation) | |
Create a BrokenContact object. More... | |
Real | getSeparation () const |
Get the separation (> cutoff >= 0) between the two surfaces at the time we decided the contact had been broken. More... | |
Public Member Functions inherited from SimTK::Contact | |
Contact () | |
The default constructor creates an empty handle. More... | |
Contact (const Contact &source) | |
Copy constructor is shallow and reference-counted; this handle will point to the same object as does the source. More... | |
~Contact () | |
Destructor clears the handle, deleting the referenced object if this was the last reference. More... | |
Contact & | operator= (const Contact &source) |
Copy assignment is shallow and reference-counted; this handle will point to the same object as does the source. More... | |
void | clear () |
Clear this handle, deleting the referenced object if this was the last reference. More... | |
bool | isEmpty () const |
See if this handle is empty. More... | |
ContactId | getContactId () const |
Get the persistent ContactId that has been assigned to this Contact object if there is one (otherwise this will be invalid – you can check with isValid(). More... | |
Condition | getCondition () const |
Find out the current condition of this Contact object. More... | |
ContactSurfaceIndex | getSurface1 () const |
Get the first surface involved in the contact, specified by its index within its contact set or ContactTrackerSubsystem. More... | |
ContactSurfaceIndex | getSurface2 () const |
Get the second surface involved in the contact, specified by its index within its contact set or ContactTrackerSubsystem. More... | |
const Transform & | getTransform () const |
Return the transform X_S1S2 giving the pose of surface 2's frame measured and expressed in surface 1's frame, recorded at the time this Contact object was calculated. More... | |
Contact & | setContactId (ContactId id) |
Set the ContactId for this Contact object. More... | |
Contact & | setCondition (Condition condition) |
Set the current Condition. More... | |
Contact & | setSurfaces (ContactSurfaceIndex surf1, ContactSurfaceIndex surf2) |
Set the surfaces tracked by this Contact object. More... | |
Contact & | setTransform (const Transform &X_S1S2) |
Set the surface-to-surface relative transform X_S1S2. More... | |
ContactTypeId | getTypeId () const |
Return a unique small integer corresponding to the concrete type of Contact object being referenced by this handle. More... | |
const ContactImpl & | getImpl () const |
ContactImpl & | updImpl () |
Static Public Member Functions | |
static bool | isInstance (const Contact &contact) |
Determine whether a Contact object is a BrokenContact. More... | |
static ContactTypeId | classTypeId () |
Obtain the unique small-integer id for the BrokenContact class. More... | |
Static Public Member Functions inherited from SimTK::Contact | |
static const char * | nameOfCondition (Condition) |
Returns a human-readable name corresponding to the given Condition; useful for debugging. More... | |
static ContactId | createNewContactId () |
This creates a new ContactId starting from 1 and increasing for a very long time (to a billion or so) before repeating. More... | |
Additional Inherited Members | |
Public Types inherited from SimTK::Contact | |
enum | Condition { Unknown, Untracked, Anticipated, NewContact, Ongoing, Broken } |
The Contact::Condition tracks the status of a Contact through its lifetime. More... | |
Protected Member Functions inherited from SimTK::Contact | |
Contact (ContactImpl *impl) | |
This subclass of Contact represents a pair of contact surfaces that were in contact (meaning within cutoff range) but have now gone out of range.
This is the last time we will use this ContactId. The only parameters here are the surfaces and the separation distance (> cutoff). If someone cares, the separation distance can be used to estimate the time at which contact was broken.
SimTK::BrokenContact::BrokenContact | ( | ContactSurfaceIndex | surf1, |
ContactSurfaceIndex | surf2, | ||
const Transform & | X_S1S2, | ||
Real | separation | ||
) |
Create a BrokenContact object.
surf1 | The index of the first surface involved in the contact. |
surf2 | The index of the second surface involved in the contact. |
X_S1S2 | The surface-to-surface relative transform. |
separation | The minimum distance between the surfaces, with separation > cutoff >= 0 always. |
Real SimTK::BrokenContact::getSeparation | ( | ) | const |
Get the separation (> cutoff >= 0) between the two surfaces at the time we decided the contact had been broken.
Note that the sign convention is opposite from depth which is negative when separated.
|
static |
Determine whether a Contact object is a BrokenContact.
|
static |
Obtain the unique small-integer id for the BrokenContact class.