| 
    Simbody
    3.7
    
   | 
 
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.