Request for a contact patch computation.  
 More...
#include <collision_data.h>
|  | 
|  | ContactPatchRequest (const CollisionRequest &collision_request, size_t num_samples_curved_shapes=ContactPatch::default_preallocated_size, CoalScalar patch_tolerance=1e-3) | 
|  | Construct a contact patch request from a collision request.  More... 
 | 
|  | 
|  | ContactPatchRequest (size_t max_num_patch=1, size_t num_samples_curved_shapes=ContactPatch::default_preallocated_size, CoalScalar patch_tolerance=1e-3) | 
|  | Default constructor.  More... 
 | 
|  | 
| size_t | getNumSamplesCurvedShapes () const | 
|  | Maximum samples to compute the support sets of curved shapes, i.e. when the normal is perpendicular to the base of a cylinder. For now, only relevant for Cone and Cylinder. In the future this might be extended to Sphere and Ellipsoid.  More... 
 | 
|  | 
| CoalScalar | getPatchTolerance () const | 
|  | Tolerance below which points are added to a contact patch. In details, given two shapes S1 and S2, a contact patch is the triple intersection between the separating plane (P) (passing by Contact::posand supported byContact::normal), S1 and S2; i.e. a contact patch isP & S1 & S2if we denote&the set intersection operator. If a point p1 of S1 is at a distance belowpatch_tolerancefrom the separating plane, it is taken into account in the computation of the contact patch. Otherwise, it is not used for the computation.  More...
 | 
|  | 
| bool | operator== (const ContactPatchRequest &other) const | 
|  | Whether two ContactPatchRequest are identical or not.  More... 
 | 
|  | 
| void | setNumSamplesCurvedShapes (const size_t num_samples_curved_shapes) | 
|  | Maximum samples to compute the support sets of curved shapes, i.e. when the normal is perpendicular to the base of a cylinder. For now, only relevant for Cone and Cylinder. In the future this might be extended to Sphere and Ellipsoid.  More... 
 | 
|  | 
| void | setPatchTolerance (const CoalScalar patch_tolerance) | 
|  | Tolerance below which points are added to a contact patch. In details, given two shapes S1 and S2, a contact patch is the triple intersection between the separating plane (P) (passing by Contact::posand supported byContact::normal), S1 and S2; i.e. a contact patch isP & S1 & S2if we denote&the set intersection operator. If a point p1 of S1 is at a distance belowpatch_tolerancefrom the separating plane, it is taken into account in the computation of the contact patch. Otherwise, it is not used for the computation.  More...
 | 
|  | 
|  | 
| size_t | m_num_samples_curved_shapes | 
|  | Maximum samples to compute the support sets of curved shapes, i.e. when the normal is perpendicular to the base of a cylinder. For now, only relevant for Cone and Cylinder. In the future this might be extended to Sphere and Ellipsoid.  More... 
 | 
|  | 
| CoalScalar | m_patch_tolerance | 
|  | Tolerance below which points are added to a contact patch. In details, given two shapes S1 and S2, a contact patch is the triple intersection between the separating plane (P) (passing by Contact::posand supported byContact::normal), S1 and S2; i.e. a contact patch isP & S1 & S2if we denote&the set intersection operator. If a point p1 of S1 is at a distance belowpatch_tolerancefrom the separating plane, it is taken into account in the computation of the contact patch. Otherwise, it is not used for the computation.  More...
 | 
|  | 
Request for a contact patch computation. 
Definition at line 724 of file coal/collision_data.h.
◆ ContactPatchRequest() [1/2]
Default constructor. 
- Parameters
- 
  
    | max_num_patch | maximum number of contact patches per collision pair. |  | max_sub_patch_size | maximum size of each sub contact patch. Each contact patch contains an internal representation for an inscribed sub contact patch. This allows physics simulation to always work with a predetermined maximum size for each contact patch. A sub contact patch is simply a subset of the vertices of a contact patch. |  | num_samples_curved_shapes | for shapes like cones and cylinders, which have smooth basis (circles in this case), we need to sample a certain amount of point of this basis. |  | patch_tolerance | the tolerance below which a point of a shape is considered to belong to the support set of this shape in the direction of the normal. Said otherwise, patch_tolerancedetermines the "thickness" of the separating plane between shapes of a collision pair. |  
 
Definition at line 761 of file coal/collision_data.h.
 
 
◆ ContactPatchRequest() [2/2]
◆ getNumSamplesCurvedShapes()
  
  | 
        
          | size_t coal::ContactPatchRequest::getNumSamplesCurvedShapes | ( |  | ) | const |  | inline | 
 
Maximum samples to compute the support sets of curved shapes, i.e. when the normal is perpendicular to the base of a cylinder. For now, only relevant for Cone and Cylinder. In the future this might be extended to Sphere and Ellipsoid. 
Definition at line 793 of file coal/collision_data.h.
 
 
◆ getPatchTolerance()
  
  | 
        
          | CoalScalar coal::ContactPatchRequest::getPatchTolerance | ( |  | ) | const |  | inline | 
 
Tolerance below which points are added to a contact patch. In details, given two shapes S1 and S2, a contact patch is the triple intersection between the separating plane (P) (passing by Contact::pos and supported by Contact::normal), S1 and S2; i.e. a contact patch is P & S1 & S2 if we denote & the set intersection operator. If a point p1 of S1 is at a distance below patch_tolerance from the separating plane, it is taken into account in the computation of the contact patch. Otherwise, it is not used for the computation. 
- Note
- Needs to be positive. 
Definition at line 810 of file coal/collision_data.h.
 
 
◆ operator==()
◆ setNumSamplesCurvedShapes()
  
  | 
        
          | void coal::ContactPatchRequest::setNumSamplesCurvedShapes | ( | const size_t | num_samples_curved_shapes | ) |  |  | inline | 
 
Maximum samples to compute the support sets of curved shapes, i.e. when the normal is perpendicular to the base of a cylinder. For now, only relevant for Cone and Cylinder. In the future this might be extended to Sphere and Ellipsoid. 
Definition at line 781 of file coal/collision_data.h.
 
 
◆ setPatchTolerance()
  
  | 
        
          | void coal::ContactPatchRequest::setPatchTolerance | ( | const CoalScalar | patch_tolerance | ) |  |  | inline | 
 
Tolerance below which points are added to a contact patch. In details, given two shapes S1 and S2, a contact patch is the triple intersection between the separating plane (P) (passing by Contact::pos and supported by Contact::normal), S1 and S2; i.e. a contact patch is P & S1 & S2 if we denote & the set intersection operator. If a point p1 of S1 is at a distance below patch_tolerance from the separating plane, it is taken into account in the computation of the contact patch. Otherwise, it is not used for the computation. 
- Note
- Needs to be positive. 
Definition at line 798 of file coal/collision_data.h.
 
 
◆ m_num_samples_curved_shapes
  
  | 
        
          | size_t coal::ContactPatchRequest::m_num_samples_curved_shapes |  | protected | 
 
Maximum samples to compute the support sets of curved shapes, i.e. when the normal is perpendicular to the base of a cylinder. For now, only relevant for Cone and Cylinder. In the future this might be extended to Sphere and Ellipsoid. 
Definition at line 733 of file coal/collision_data.h.
 
 
◆ m_patch_tolerance
  
  | 
        
          | CoalScalar coal::ContactPatchRequest::m_patch_tolerance |  | protected | 
 
Tolerance below which points are added to a contact patch. In details, given two shapes S1 and S2, a contact patch is the triple intersection between the separating plane (P) (passing by Contact::pos and supported by Contact::normal), S1 and S2; i.e. a contact patch is P & S1 & S2 if we denote & the set intersection operator. If a point p1 of S1 is at a distance below patch_tolerance from the separating plane, it is taken into account in the computation of the contact patch. Otherwise, it is not used for the computation. 
- Note
- Needs to be positive. 
Definition at line 744 of file coal/collision_data.h.
 
 
◆ max_num_patch
      
        
          | size_t coal::ContactPatchRequest::max_num_patch | 
      
 
 
The documentation for this struct was generated from the following file: