|
Simbody
3.6
|
OBSOLETE – use CircularPointContact or EllipticalPointContact. More...
Inheritance diagram for SimTK::PointContact:Public Member Functions | |
| PointContact (ContactSurfaceIndex surf1, ContactSurfaceIndex surf2, Vec3 &location, Vec3 &normal, Real radius1, Real radius2, Real depth) | |
| Create a PointContact object representing a general (elliptical) contact. More... | |
| PointContact (ContactSurfaceIndex surf1, ContactSurfaceIndex surf2, Vec3 &location, Vec3 &normal, Real radius, Real depth) | |
| Create a PointContact object representing a circularly symmetric contact. More... | |
| Vec3 | getLocation () const |
| The location where the two surfaces touch, specified in the ground frame. More... | |
| Vec3 | getNormal () const |
| Get the surface normal at the contact location. More... | |
| Real | getRadiusOfCurvature1 () const |
| Get the first principal relative radius of curvature of the contact surface. More... | |
| Real | getRadiusOfCurvature2 () const |
| Get the second principal relative radius of curvature of the contact surface. More... | |
| Real | getEffectiveRadiusOfCurvature () const |
| Get the effective relative radius of curvature of the contact surface. More... | |
| Real | getDepth () const |
| Get the penetration depth. 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 PointContact. More... | |
| static ContactTypeId | classTypeId () |
| Obtain the unique small-integer id for the PointContact 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) | |
OBSOLETE – use CircularPointContact or EllipticalPointContact.
This subclass of Contact represents a symmetric contact centered at a single point, such as between two spheres or a sphere and a half space. It characterizes the contact by the center location and radius of the contact patch, the normal vector, and the penetration depth.
| SimTK::PointContact::PointContact | ( | ContactSurfaceIndex | surf1, |
| ContactSurfaceIndex | surf2, | ||
| Vec3 & | location, | ||
| Vec3 & | normal, | ||
| Real | radius1, | ||
| Real | radius2, | ||
| Real | depth | ||
| ) |
Create a PointContact object representing a general (elliptical) contact.
| surf1 | the index of the first surface involved in the contact, specified by its index within its contact set |
| surf2 | the index of the second surface involved in the contact, specified by its index within its contact set |
| location | the location where the two surfaces touch, specified in the ground frame |
| normal | the surface normal at the contact location. This is specified in the ground frame, and points outward from surface1 towards surface2 |
| radius1 | the first principal relative radius of curvature of the contact surface |
| radius2 | the second principal relative radius of curvature of the contact surface |
| depth | the penetration depth |
| SimTK::PointContact::PointContact | ( | ContactSurfaceIndex | surf1, |
| ContactSurfaceIndex | surf2, | ||
| Vec3 & | location, | ||
| Vec3 & | normal, | ||
| Real | radius, | ||
| Real | depth | ||
| ) |
Create a PointContact object representing a circularly symmetric contact.
| surf1 | the index of the first surface involved in the contact, specified by its index within its contact set |
| surf2 | the index of the second surface involved in the contact, specified by its index within its contact set |
| location | the location where the two surfaces touch, specified in the ground frame |
| normal | the surface normal at the contact location. This is specified in the ground frame, and points outward from surface1 towards surface2 |
| radius | the relative radius of curvature of the contact surface |
| depth | the penetration depth |
| Vec3 SimTK::PointContact::getLocation | ( | ) | const |
The location where the two surfaces touch, specified in the ground frame.
More precisely, the contact region is represented as a circular patch centered at this point and perpendicular to the normal vector.
| Vec3 SimTK::PointContact::getNormal | ( | ) | const |
Get the surface normal at the contact location.
This is specified in the ground frame, and points outward from surface1 towards surface2.
| Real SimTK::PointContact::getRadiusOfCurvature1 | ( | ) | const |
Get the first principal relative radius of curvature of the contact surface.
| Real SimTK::PointContact::getRadiusOfCurvature2 | ( | ) | const |
Get the second principal relative radius of curvature of the contact surface.
| Real SimTK::PointContact::getEffectiveRadiusOfCurvature | ( | ) | const |
Get the effective relative radius of curvature of the contact surface.
This is equal to sqrt(R1*R2), where R1 and R2 are the principal relative radii of curvature.
| Real SimTK::PointContact::getDepth | ( | ) | const |
Get the penetration depth.
This is defined as the minimum distance you would need to translate one surface along the normal vector to make the surfaces no longer overlap.
|
static |
Determine whether a Contact object is a PointContact.
|
static |
Obtain the unique small-integer id for the PointContact class.