Public Types | Public Member Functions | Public Attributes | List of all members
coal::ContactPatchFunctionMatrix Struct Reference

The contact patch matrix stores the functions for contact patches computation between different types of objects and provides a uniform call interface. More...

#include <contact_patch_func_matrix.h>

Public Types

typedef void(* ContactPatchFunc) (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const CollisionResult &collision_result, const ContactPatchSolver *csolver, const ContactPatchRequest &request, ContactPatchResult &result)
 the uniform call interface for computing contact patches: we need know More...
 

Public Member Functions

 ContactPatchFunctionMatrix ()
 

Public Attributes

ContactPatchFunc contact_patch_matrix [NODE_COUNT][NODE_COUNT]
 Each item in the contact patch matrix is a function to handle contact patch computation between objects of type1 and type2. More...
 

Detailed Description

The contact patch matrix stores the functions for contact patches computation between different types of objects and provides a uniform call interface.

Definition at line 49 of file coal/contact_patch_func_matrix.h.

Member Typedef Documentation

◆ ContactPatchFunc

typedef void(* coal::ContactPatchFunctionMatrix::ContactPatchFunc) (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const CollisionResult &collision_result, const ContactPatchSolver *csolver, const ContactPatchRequest &request, ContactPatchResult &result)

the uniform call interface for computing contact patches: we need know

  1. two objects o1 and o2 and their configuration in world coordinate tf1 and tf2;
  2. the collision result that generated contact patches candidates (coal::Contact), from which contact patches will be expanded;
  3. the solver for computation of contact patches;
  4. the request setting for contact patches (e.g. maximum amount of patches, patch tolerance etc.)
  5. the structure to return contact patches (coal::ContactPatchResult).

Note: we pass a GJKSolver, because it allows to reuse internal computation that was made during the narrow phase. It also allows to experiment with different ways to compute contact patches. We could, for example, perturb tf1 and tf2 and make multiple calls to the GJKSolver (although this is not the approach done by default).

Definition at line 67 of file coal/contact_patch_func_matrix.h.

Constructor & Destructor Documentation

◆ ContactPatchFunctionMatrix()

coal::ContactPatchFunctionMatrix::ContactPatchFunctionMatrix ( )

Definition at line 136 of file contact_patch_func_matrix.cpp.

Member Data Documentation

◆ contact_patch_matrix

ContactPatchFunc coal::ContactPatchFunctionMatrix::contact_patch_matrix[NODE_COUNT][NODE_COUNT]

Each item in the contact patch matrix is a function to handle contact patch computation between objects of type1 and type2.

Definition at line 78 of file coal/contact_patch_func_matrix.h.


The documentation for this struct was generated from the following files:


hpp-fcl
Author(s):
autogenerated on Sat Nov 23 2024 03:45:00