Simbody
3.5
|
(TODO: not implemented yet) This ContactTracker handles contacts between two arbitrary smooth surfaces by using their implicit functions, with no shape restrictions. More...
Public Member Functions | |
GeneralImplicitPair (ContactGeometryTypeId type1, ContactGeometryTypeId type2) | |
bool | trackContact (const Contact &priorStatus, const Transform &X_GS1, const ContactGeometry &surface1, const Transform &X_GS2, const ContactGeometry &surface2, Real cutoff, Contact ¤tStatus) const override |
The ContactTrackerSubsystem will invoke this method for any pair of contact surfaces that is already being tracked, or for which the static broad phase analysis indicated that they might be in contact now. |
(TODO: not implemented yet) This ContactTracker handles contacts between two arbitrary smooth surfaces by using their implicit functions, with no shape restrictions.
Each surface must provide a bounding hierarchy with "safe" leaf objects, meaning that interactions between a leaf of each surface yield at most one solution.
Create one of these for each possible pair that you want handled this way.
SimTK::ContactTracker::GeneralImplicitPair::GeneralImplicitPair | ( | ContactGeometryTypeId | type1, |
ContactGeometryTypeId | type2 | ||
) | [inline] |
bool SimTK::ContactTracker::GeneralImplicitPair::trackContact | ( | const Contact & | priorStatus, |
const Transform & | X_GS1, | ||
const ContactGeometry & | surface1, | ||
const Transform & | X_GS2, | ||
const ContactGeometry & | surface2, | ||
Real | cutoff, | ||
Contact & | currentStatus | ||
) | const [override, virtual] |
The ContactTrackerSubsystem will invoke this method for any pair of contact surfaces that is already being tracked, or for which the static broad phase analysis indicated that they might be in contact now.
Only position information is available. Note that the arguments and Contact object surfaces must be ordered by geometry type id as required by this tracker.
Implements SimTK::ContactTracker.