DART  6.7.3
dart::collision::Contact Struct Reference

Contact information. More...

#include <Contact.hpp>

Public Member Functions

 Contact ()
 Default constructor. More...
 

Static Public Member Functions

constexpr static double getNormalEpsilon ()
 Returns the epsilon to be used for determination of zero-length normal. More...
 
constexpr static double getNormalEpsilonSquared ()
 Returns the squired epsilon to be used for determination of zero-length normal. More...
 
static bool isZeroNormal (const Eigen::Vector3d &normal)
 Returns true if the length of a normal is less than the epsilon. More...
 
static bool isNonZeroNormal (const Eigen::Vector3d &normal)
 Returns !isZeroNormal(). More...
 

Public Attributes

Eigen::Vector3d point
 Contact point w.r.t. the world frame. More...
 
Eigen::Vector3d normal
 Contact normal vector from bodyNode2 to bodyNode1 w.r.t. the world frame. More...
 
Eigen::Vector3d force
 Contact force acting on bodyNode1 w.r.t. More...
 
CollisionObjectcollisionObject1
 First colliding collision object. More...
 
CollisionObjectcollisionObject2
 Second colliding collision object. More...
 
double penetrationDepth
 Penetration depth. More...
 
int triID1
 
int triID2
 
void * userData
 User data. More...
 

Detailed Description

Contact information.

Constructor & Destructor Documentation

◆ Contact()

dart::collision::Contact::Contact ( )

Default constructor.

Member Function Documentation

◆ getNormalEpsilon()

constexpr double dart::collision::Contact::getNormalEpsilon ( )
staticconstexpr

Returns the epsilon to be used for determination of zero-length normal.

◆ getNormalEpsilonSquared()

constexpr double dart::collision::Contact::getNormalEpsilonSquared ( )
staticconstexpr

Returns the squired epsilon to be used for determination of zero-length normal.

◆ isNonZeroNormal()

bool dart::collision::Contact::isNonZeroNormal ( const Eigen::Vector3d &  normal)
static

Returns !isZeroNormal().

◆ isZeroNormal()

bool dart::collision::Contact::isZeroNormal ( const Eigen::Vector3d &  normal)
static

Returns true if the length of a normal is less than the epsilon.

Member Data Documentation

◆ collisionObject1

CollisionObject* dart::collision::Contact::collisionObject1

First colliding collision object.

◆ collisionObject2

CollisionObject* dart::collision::Contact::collisionObject2

Second colliding collision object.

◆ force

Eigen::Vector3d dart::collision::Contact::force

Contact force acting on bodyNode1 w.r.t.

the world frame

The contact force acting on bodyNode2 is -force, which is the opposite direction of the force.

◆ normal

Eigen::Vector3d dart::collision::Contact::normal

Contact normal vector from bodyNode2 to bodyNode1 w.r.t. the world frame.

◆ penetrationDepth

double dart::collision::Contact::penetrationDepth

Penetration depth.

◆ point

Eigen::Vector3d dart::collision::Contact::point

Contact point w.r.t. the world frame.

◆ triID1

int dart::collision::Contact::triID1

◆ triID2

int dart::collision::Contact::triID2

◆ userData

void* dart::collision::Contact::userData

User data.