Drake
PenetrationAsPointPair< T > Struct Template Reference

A characterization of the intersection of two penetrating geometries. More...

#include <drake/geometry/query_results/penetration_as_point_pair.h>

Public Member Functions

 PenetrationAsPointPair ()=default
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 PenetrationAsPointPair (const PenetrationAsPointPair &)=default
 
PenetrationAsPointPairoperator= (const PenetrationAsPointPair &)=default
 
 PenetrationAsPointPair (PenetrationAsPointPair &&)=default
 
PenetrationAsPointPairoperator= (PenetrationAsPointPair &&)=default
 

Public Attributes

GeometryId id_A
 The id of the first geometry in the contact. More...
 
GeometryId id_B
 The id of the second geometry in the contact. More...
 
Vector3< Tp_WCa
 The point on A that most deeply penetrates B, measured and expressed in the world frame. More...
 
Vector3< Tp_WCb
 The point on B that most deeply penetrates A, measured and expressed in the world frame. More...
 
Vector3< Tnhat_BA_W
 The unit-length normal which defines the penetration direction, pointing from geometry B into geometry A, measured and expressed in the world frame. More...
 
T depth {-1.0}
 The penetration depth. More...
 

Detailed Description

template<typename T>
struct drake::geometry::PenetrationAsPointPair< T >

A characterization of the intersection of two penetrating geometries.

The characterization consists of a pair of points and a normal. The points represent a point on each geometry that most deeply penetrates the other geometry (in the normal direction). For convenience, the penetration depth is provided and is equal to:

depth = `(p_WCb - p_WCa) ⋅ nhat_BA_W`

(depth is strictly positive when there is penetration and otherwise not defined.)

Template Parameters
TThe underlying scalar type. Must be a valid Eigen scalar.

Constructor & Destructor Documentation

◆ PenetrationAsPointPair() [1/3]

◆ PenetrationAsPointPair() [2/3]

◆ PenetrationAsPointPair() [3/3]

Member Function Documentation

◆ operator=() [1/2]

PenetrationAsPointPair& operator= ( const PenetrationAsPointPair< T > &  )
default

◆ operator=() [2/2]

PenetrationAsPointPair& operator= ( PenetrationAsPointPair< T > &&  )
default

Member Data Documentation

◆ depth

T depth {-1.0}

The penetration depth.

◆ id_A

GeometryId id_A

The id of the first geometry in the contact.

◆ id_B

GeometryId id_B

The id of the second geometry in the contact.

◆ nhat_BA_W

Vector3<T> nhat_BA_W

The unit-length normal which defines the penetration direction, pointing from geometry B into geometry A, measured and expressed in the world frame.

It approximates the normal to the plane on which the contact patch lies.

◆ p_WCa

Vector3<T> p_WCa

The point on A that most deeply penetrates B, measured and expressed in the world frame.

◆ p_WCb

Vector3<T> p_WCb

The point on B that most deeply penetrates A, measured and expressed in the world frame.


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